2 条题解
-
0
#include<iostream> #include<vector> using namespace std; typedef long long ll; const int N = 1e7 + 10; int n, q; vector<ll>a(N); void roll(vector<ll>& a, int l, int r) { for (int i = l, j = r; i <j; i++, j--) { swap(a[i],a[j]); } } int main() { scanf("%d%d",&n,&q); for (int i = 0; i < n; i++) { scanf("%lld",&a[i]); } while (q--) { int op; scanf("%d",&op); if (op == 1) { int l, r, k; scanf("%d%d%d",&l,&r,&k); l--, r--; int len = r - l + 1; k %= len; roll(a, l, r), roll(a, l, l + k - 1), roll(a, l + k, r); } else { int x; scanf("%d",&x); printf("%lld\n",a[x-1]); } } return 0; }
信息
- ID
- 1083
- 时间
- 1500ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 86
- 已通过
- 6
- 上传者