#O3804. LQ.蓝桥杯.十五届.省赛.编程题.04.字母移位

LQ.蓝桥杯.十五届.省赛.编程题.04.字母移位

问题描述

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

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

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

给定一个仅包含小写字母且长度为 nn 的字符串 ss ,以及 nn 个正整数 a1,a2,a3ana_1,a_2,a_3 \dots a_n,接下来对字符串 ss 按如下规律操作:

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

以此类推,直到将 ss 的第 11 到第 nn 位字符都(按规律向左或向右)移动 ana_n 位:

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

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

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

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

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

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

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

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

输入描述

第一行输入一个整数 nn ( 1n1051 \le n \le 10^5 )

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

第三行输入 nn 个整数 a1,a2,ana_1,a_2, \dots a_n ( 1a1091 \le a \le 10^9 ),整数之间以一个空格隔开。输出格式:

输出描述

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

样例

5
abcde
1 3 5 7 9
vxvbv