243722026-02-10 17:16:38abcdKazamatacpp17Accepted 40/4037ms1376 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;cin>>n;
    vector<int> a(n);
    for(int i=0;i<n;i++)cin>>a[i];
    int cnt=0,id=0;
    vector<bool> have(n);
    vector<int> cur;
    while(id<n){
        int b=(a[id]+cnt)%n;
        if(!have[b]){
            have[b]=true;
            cur.push_back(b);
        }
        if(have[id])id++;
        else{
            vector<int> cur2;
            for(int x:cur){
                int y=(x+1)%n;
                if(!have[y]){
                    cur2.push_back(y);
                    have[y]=true;
                }
            }
            swap(cur,cur2);
            cnt++;
        }
    }
    cout<<cnt<<'\n';
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/018ms760 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms508 KiB
7Accepted2/21ms316 KiB
8Accepted2/22ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/237ms804 KiB
12Accepted2/235ms812 KiB
13Accepted2/237ms804 KiB
14Accepted2/235ms1300 KiB
15Accepted2/237ms1332 KiB
16Accepted2/237ms1172 KiB
17Accepted2/237ms1172 KiB
18Accepted2/237ms1376 KiB
19Accepted2/235ms1172 KiB
20Accepted2/235ms1332 KiB
21Accepted2/237ms1296 KiB
22Accepted2/235ms1176 KiB