Submission #66738378


Source Code Expand

/*
Original Python code:
import numpy as np

n, q = map(int, input().split())
a = np.arange(1, n+1)
ans = []
for _ in range(q):
    l = list(map(int, input().split()))
    if l[0] == 1:
        a[l[1]-1] = l[2]
    elif l[0] == 2:
        ans.append(a[l[1]-1])
    else:
        a = np.concatenate((a[l[1]%n:], a[:l[1]%n]))

print("\n".join(map(str, ans)))
*/

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, q;
    cin >> n >> q;
    
    vector<int> a(n);
    for(int i = 0; i < n; i++) {
        a[i] = i + 1;
    }
    
    vector<int> ans;
    int offset = 0;  // 配列の開始位置を管理
    
    for(int i = 0; i < q; i++) {
        int type;
        cin >> type;
        
        if(type == 1) {
            int x, v;
            cin >> x >> v;
            // オフセットを考慮したインデックス計算
            int idx = (x - 1 + offset) % n;
            if(idx < 0) idx += n;
            a[idx] = v;
        }
        else if(type == 2) {
            int x;
            cin >> x;
            // オフセットを考慮したインデックス計算
            int idx = (x - 1 + offset) % n;
            if(idx < 0) idx += n;
            ans.push_back(a[idx]);
        }
        else {
            int x;
            cin >> x;
            // オフセットを更新(実際の配列は変更しない)
            offset = (offset + x) % n;
        }
    }
    
    for(int x : ans) {
        cout << x << endl;
    }
    
    return 0;
} 

Submission Info

Submission Time
Task C - Rotatable Array
User chachamusics
Language C++ 20 (gcc 12.2)
Score 300
Code Size 1566 Byte
Status AC
Exec Time 374 ms
Memory 9168 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 46
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3528 KiB
sample_02.txt AC 3 ms 7156 KiB
test_01.txt AC 1 ms 3468 KiB
test_02.txt AC 1 ms 3456 KiB
test_03.txt AC 1 ms 3664 KiB
test_04.txt AC 211 ms 7612 KiB
test_05.txt AC 209 ms 7620 KiB
test_06.txt AC 209 ms 7676 KiB
test_07.txt AC 210 ms 7636 KiB
test_08.txt AC 211 ms 7620 KiB
test_09.txt AC 212 ms 7716 KiB
test_10.txt AC 116 ms 3588 KiB
test_11.txt AC 149 ms 3612 KiB
test_12.txt AC 109 ms 3604 KiB
test_13.txt AC 350 ms 5608 KiB
test_14.txt AC 213 ms 7740 KiB
test_15.txt AC 178 ms 3724 KiB
test_16.txt AC 208 ms 3884 KiB
test_17.txt AC 299 ms 4408 KiB
test_18.txt AC 140 ms 5576 KiB
test_19.txt AC 129 ms 7124 KiB
test_20.txt AC 326 ms 5328 KiB
test_21.txt AC 187 ms 3888 KiB
test_22.txt AC 192 ms 3856 KiB
test_23.txt AC 140 ms 3700 KiB
test_24.txt AC 247 ms 7712 KiB
test_25.txt AC 305 ms 5240 KiB
test_26.txt AC 101 ms 3644 KiB
test_27.txt AC 345 ms 5312 KiB
test_28.txt AC 206 ms 5324 KiB
test_29.txt AC 210 ms 7644 KiB
test_30.txt AC 126 ms 3592 KiB
test_31.txt AC 218 ms 4192 KiB
test_32.txt AC 321 ms 5196 KiB
test_33.txt AC 110 ms 5136 KiB
test_34.txt AC 374 ms 9168 KiB
test_35.txt AC 178 ms 3812 KiB
test_36.txt AC 181 ms 3724 KiB
test_37.txt AC 132 ms 3644 KiB
test_38.txt AC 350 ms 5368 KiB
test_39.txt AC 174 ms 7856 KiB
test_40.txt AC 98 ms 3472 KiB
test_41.txt AC 338 ms 5148 KiB
test_42.txt AC 193 ms 3828 KiB
test_43.txt AC 214 ms 7452 KiB
test_44.txt AC 217 ms 7616 KiB