Problem C: 打开密码箱
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:17
Solved:13
Description
侦察员破获了敌人的密码箱,这时情报员给了你一个长度为 n 的 循环密码 以及一个密钥 k 。
为了获得正确的密码,你需要替换掉每一个数字。替换方法如下:
为了获得正确的密码,你需要替换掉每一个数字。替换方法如下:
- 如果 k > 0 ,将第 i 个数字用 接下来 k 个数字之和替换。
- 如果 k < 0 ,将第 i 个数字用 之前 k 个数字之和替换。
- 如果 k == 0 ,将第 i 个数字用 0 替换。
例如,给你的循环密码为 [code]={ 7,4,6,1}。则替换为: 4+6+1=11; 6+1+7=14; 1+7+4=12; 7+4+6=17。
则打开密码箱的密码为:11,14,12,17。
现在给你循环密码数组 code 和整数密钥 k ,请你返回解密后的结果。
Input
输入第一行为密码长度 n与密钥 k。
第二行为code循环数组中的 n个整数 (<=10000)。
Output
输出一行 n个整数。数字之间空一格。
Sample Input Copy
7 -2
17 14 26 31 15 23 33
Sample Output Copy
56 50 31 40 57 46 38
HINT
1 <= n <= 10000 ; 1 <= code[i] <= 10000 ; -(n - 1) <= k <= n - 1。