#USACO446. 轮换和移位

轮换和移位

题目描述

NN 头奶牛,编号 0N10∼N−1

奶牛们正在围着一个圆圈跳舞。

圆圈上有 NN 个位置,按顺时针编号依次为 0N10∼N−1,位置 N1N−1 的下一个位置是位置 00

每个位置上都有一头奶牛。

初始时,位置 ii 上的奶牛恰好是奶牛 ii

KK 个位置 0=A1<A2...AK<N0=A_1<A_2...A_K<N 是活跃位置。

在每一轮舞蹈中,都会依次发生以下两件事:

  1. 所有活跃位置的奶牛进行位置轮换:位置 A1A_1 的奶牛移动到位置 A2A_2,位置 A2A_2 的奶牛移动到位置 A3A_3,…,位置 AK1A_{K-1} 的奶牛移动到位置 AKA_K,位置 AKA_K 的奶牛移动到位置 A1A_1。这 KK 个移动是同时发生的,因此轮换完成后,每个活跃位置上仍然恰好有一头牛。
  2. 活跃位置本身发生变化:所有活跃位置向下移动一位,A1A_1 变为 A1+1A_1+1A2A_2 变为 A2+1A_2+1,依此类推。也就是说,对于第 ii 个活跃位置 AiA_i,如果 AiA_i等于 xx,则向下移动一位后,AiA_i 变为 x+1x+1(如果 AiA_i 等于 N1N−1,则向下移动一位后,AiA_i 变为 00)。

请你计算,跳完 TT 轮舞蹈后每个位置上分别是哪个奶牛。

输入格式

第一行包含三个整数 N,K,TN,K,T

第二行包含 KK 个整数 A1,A2...AKA_1,A_2...A_K

输出格式

共一行,输出 NN 个整数,表示跳完 TT 轮舞蹈后位置 N1N−1 上的奶牛的编号。

5 3 4
0 2 3
1 2 3 4 0

提示

1N2×105,1≤N≤2×10^5,
1KN,1≤K≤N,
1T109,1≤T≤10^9,
0A1<A2...AK<N0 \leq A_1<A_2...A_K<N

样例解释

四轮舞蹈过程如下:

  • 初始时,奶牛顺序:[0,1,2,3,4],A=[0,2,3]。
  • 第一轮舞蹈过后,奶牛顺序 [3,1,0,2,4],A=[1,3,4]。
  • 第二轮舞蹈过后,奶牛顺序 [3,4,0,1,2],A=[2,4,0]。
  • 第三轮舞蹈过后,奶牛顺序 [2,4,3,1,0],A=[3,0,1]。
  • 第四轮舞蹈过后,奶牛顺序 [1,2,3,4,0],A=[4,1,2]。