#8395. Rotate and Shift

0

Rotate and Shift

Rotate and Shift

题目描述

注意:本题时间限制为 4s,是默认的 2 倍。 为了庆祝春天的到来,农夫约翰的 NN 头奶牛(1≤N≤2⋅1051 \leq N \leq 2 \cdot 10^5)发明了一种有趣的新舞蹈:它们站成一个圆圈,并以一种可预测的方式重新排列。

具体来说,圆圈上有 NN 个位置,按顺序编号为 00 到 N−1N-1,其中位置 00 紧跟在位置 N−1N-1 之后。每个位置上都有一头奶牛。奶牛也按顺序编号为 00 到 N−1N-1。初始时,奶牛 ii 位于位置 ii。

给定一组“活跃”的位置 0=A1<A2<…<AK<N0=A_1<A_2< \ldots< A_K<N,表示这些位置上的奶牛将是下一次要移动的奶牛(1≤K≤N1 \leq K \leq N)。

在舞蹈的每一分钟内,会发生两件事。首先,活跃位置上的奶牛进行旋转:位置 A1A_1 的奶牛移动到位置 A2A_2,位置 A2A_2 的奶牛移动到位置 A3A_3,依此类推,位置 AKA_K 的奶牛移动到位置 A1A_1。这 KK 次移动同时发生,因此旋转结束后,所有活跃位置仍然恰好各有一头奶牛。

接着,活跃位置本身整体平移: A1A_1 变为 A1+1A_1+1,A2A_2 变为 A2+1A_2+1,依此类推(如果某个活跃位置满足 Ai=N−1A_i = N-1,则该 AiA_i 会绕回到 00)。

请计算舞蹈进行 TT 分钟后奶牛的排列顺序(1≤T≤1091\le T\le 10^9)。

输入格式

第一行包含三个整数 NN、KK 和 TT。 第二行包含 KK 个整数,表示初始的活跃位置集合 A1,A2,…AKA_1,A_2, \ldots A_K。注意 A1=0A_1 = 0,并且这些数按递增顺序给出。

输出格式

输出进行 TT 分钟后的奶牛顺序,从位置 00 上的奶牛开始输出,用空格分隔。

5 3 4
0 2 3
1 2 3 4 0

提示

对于上面的例子,前四个时间步的奶牛顺序和 AA 如下: Initial, T = 0: order = [0 1 2 3 4], A = [0 2 3] T = 1: order = [3 1 0 2 4] T = 1: A = [1 3 4] T = 2: order = [3 4 0 1 2] T = 2: A = [2 4 0] T = 3: order = [2 4 3 1 0] T = 3: A = [3 0 1] T = 4: order = [1 2 3 4 0] SCORING: Inputs 2-7: N≤1000,T≤10000N \leq 1000, T \leq 10000 Inputs 8-13: No additional constraints. Problem credits: Claire Zhang

标签: USACO|2023|Bronze

来源

USACO|2023|Bronze