#1081. 字母位移(60分)

字母位移(60分)

题目描述

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

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

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

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

1.将第 1位字符向左移动 a1a_1 位;

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

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

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

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

最后,将操作完成后的字符串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(1n1051≤n≤10^5)

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

第三行输入 n个整数a1a2an(1a109a_1、a_2…a_n(1≤a≤10^9),整数之间以一个空格隔开

输出格式

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

输入样例

5
abcde
1 3 5 7 9

输出样例

vxvbv

评分标准

6分:能正确输出第一组数据;6分:能正确输出第二组数据;6分:能正确输出第三组数据;6分:能正确输出第四组数据;6分:能正确输出第五组数据;6分:能正确输出第六组数据,6分:能正确输出第七组数据;6分:能正确输出第八组数据;6分:能正确输出第九组数据;6分:能正确输出第十组数据。