#NCST202412G. 原地滚动

原地滚动

题目描述

为了更好的将算法和实际应用结合起来,winter_l 给你出了一道有趣的应用题。

有一个长度为 nn 的整数序列 a1,a2,a3ana_1, a_2, a_3 \cdots a_n。序列可以进行以下操作。

  • 将序列中第 llrr 个元素(包括 l,rl,r),在循环向右轮转 kk 个位置,其中 kk 是非负数。

  • 输出一行,当前序列中的第 ii 个元素。

输入格式

第一行给定一个正整数 n,qn, q ,表示序列的长度和操作的次数。

接下来一行,给定 nn 个正整数 aia_i,表示序列中的元素。

接下来 qq 行,每行给出一个操作数 op(op{1,2})op (op \in \{1, 2\})

  • op=1op = 1,接下来跟着三个整数 l,r,kl, r, k ,分别表示进行轮转的区间和轮转多少个元素。
  • op=2op = 2,接下来一个整数 ii,表示当前序列中的第 ii 个元素。

输出格式

对于每个 op=2op =2,输出要求的结果。

输入输出样例

7 2
1 2 3 4 5 6 7
1 1 7 3
2 4
1

提示

样例解释:

第一个样例

向右轮转 1 步: [7,1,2,3,4,5,6]

向右轮转 2 步: [6,7,1,2,3,4,5]

向右轮转 3 步: [5,6,7,1,2,3,4]

数据规模

测试点 数据规模
1t31 \leq t \leq 3 $1 \leq n \leq 100, 1\leq q \leq 10, 0 \leq k \leq 100$
4t64 \leq t \leq 6 $1 \leq n \leq 1000, 1\leq q \leq 100, 0 \leq k \leq 1000$
7t107 \leq t \leq 10 $1 \leq n \leq 10^7, 1\leq q \leq 1000, 0 \leq k \leq 10^5$
对于所有的数据 $-10^{18} \leq a_i \leq 10^{18}, 1 \leq l \leq r \leq n, r - l \leq 1000$