71922024-01-03 11:50:40horvathabelKazamatacpp17Hibás válasz 0/4039ms5732 KiB
#include <bits/stdc++.h>
using namespace std;
void solve(){
    int n;
    cin>>n;
    int x;
    cin>>x;
    int ans=0;
    vector<pair<bool,int>> help;
    help.resize(n+1,{0,0});
    int tol=n+1;
    if (x!=0){
        tol=x;
        ans+=n-abs((0-x)%n);
    }
    int rs=0;
    bool streak=false;
    int cnt=0;
    int j=0;
    for (int i=1; i<n;i++){
        int kulcs;
        cin>>kulcs;
        kulcs+=rs;
        kulcs%=n;
        help[kulcs]={true,rs};
        if (streak){
            j++;
            if (j==cnt) streak=false;
        }
        else{
            if (!help[i].first && tol>i){
                ans++;
                rs++;
            }
            if(help[i].first){
                streak=true;
                cnt=rs-help[i].second;
                j=0;
            }
        }
    }
    cout<<ans;

}
int main()
{
    int t=1;
    //cin>>t;
    while (t--) solve();
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Hibás válasz0/03ms1808 KiB
2Hibás válasz0/020ms2764 KiB
3Hibás válasz0/23ms2272 KiB
4Hibás válasz0/23ms2484 KiB
5Hibás válasz0/23ms2692 KiB
6Hibás válasz0/23ms2784 KiB
7Hibás válasz0/23ms3028 KiB
8Hibás válasz0/23ms3208 KiB
9Hibás válasz0/23ms3340 KiB
10Hibás válasz0/23ms3500 KiB
11Hibás válasz0/239ms5064 KiB
12Hibás válasz0/239ms5272 KiB
13Hibás válasz0/239ms5500 KiB
14Hibás válasz0/239ms5480 KiB
15Hibás válasz0/239ms5568 KiB
16Hibás válasz0/239ms5692 KiB
17Hibás válasz0/239ms5680 KiB
18Hibás válasz0/239ms5648 KiB
19Hibás válasz0/239ms5732 KiB
20Hibás válasz0/239ms5648 KiB
21Hibás válasz0/239ms5644 KiB
22Hibás válasz0/239ms5644 KiB