#P1635. 字母移位

字母移位

题目描述

字母移位:表示将字母按照字母表的顺序进行移动。

例如:'b'向右移动一位是'c','f'向左移动两位是'd'。

特别地,'a'向左移动一位是'z','z'向右移动一位是'a'。

给定一个仅包含小写字母且长度为 n 的字符串 s,以及 n 个正整数 a1,a2, a3.…an,接下来对字符串s按如下规律操作:

将第 1位字符向左移动 a1位;

再将第 1、2 位字符都向右移动 a2位;

再将第 1、2、3 位字符都向左移动 a3位;

再将第 1、2、3、4 位字符都向右移动 an位;

以此类推,直到将s的第1到第n位字符都(按规律向左或向右)移动ai位。

最后,将操作完成后的字符串s输出。

例如:n=5,字符串s="abcde",5个正整数为1,3,5,7,9;

将"abcde"的第 1 位字符"a"向左移动 1位,s变为"zbcde"

再将"zbcde"的前 2 位字符"zb"向右移动 3 位,s变为"cecde"

再将"cecde”的前 3位字符"cec"向左移动5 位,s 变为"xzxde"

再将"xzxde"的前 4 位字符"xzxd"向右移动7 位,s变为"egeke"

再将"egeke"的前 5 位字符"egeke"向左移动 9 位,s 变为"vxvbv"。

最后,将操作完成后的字符串"vxvbv"输出。

输入格式

第一行输入一个整数n(1<=n<=105)n(1<=n<=10^5)

第二行输入一个仅包含小写字母且长度为 nn的字符串ss

第三行输入 nn个整数 a1a2...an(1<=a<=109)a1、a2...an(1<=a<=10^9),整数之间以一个空格隔开

输出格式

输出一个字符串,表示操作完成后的字符串SS

5
abcde
1 3 5 7 9
vxvbv