246022026-02-12 22:53:38999Sorozat generáláscpp17Elfogadva 50/503ms580 KiB
// Source: https://usaco.guide/general/io

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

string numtostr(int x, int L){
    string s="";
    while(x>0){
        char c='0'+x%10;
        s=c+s;
        x/=10;
    }
    while(s.length()<L){
        s='0'+s;
    }
    return s;
}

int stringtonum(string s, int L){
    bool nullamarnem=false;
    int x=0;
    for(int i = 0;i<L;i++){
        if(s[i]!='0')nullamarnem=true;
        int temp=s[i]-'0';
        if(temp==0&&nullamarnem)x*=10;
        else if(temp!=0)x=10*x+temp;
    }
    return x;
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int m,x,a,b,n,k;cin>>m>>x>>a>>b>>n>>k;
    map<int,array<int,2>> mapp;
    string s=numtostr(x,2*m);
    int ind=1,cnt=0,tt=0;
    while(ind<n){
        x=stringtonum(s,2*m);
        x=x*a+b;
        s=numtostr(x,4*m);
        s=s.substr(m,2*m);
        x=stringtonum(s,2*m);
        if(mapp[x][0]>0){
            tt=ind-mapp[x][0];
            cout<<tt<<endl;
            break;
        }
        //cout<<x<<endl;
        mapp[x][0]=ind;
        mapp[x][1]++;
        ind++;
        cnt++;
    }
    //cout<<cnt<<endl;
    //cnt darab van loopban, cnt-tt
    n-=cnt;
    int korok=n/tt,maradek=n%tt,sum=0;
    for(auto &ss:mapp){
        if(ss.second[0]>cnt-tt){
            ss.second[1]+=korok+(ss.second[0]-cnt+tt<=maradek?1:0);
        }
        sum+=ss.second[1];
    }
    int cntt=0;
    for(auto ss:mapp){
        cntt+=ss.second[1];
        //cout<<ss.first<<' '<<ss.second[1]<<endl;
        if(sum-cntt<k){
            cout<<ss.first<<endl;
            return 0;
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms508 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/41ms508 KiB
9Elfogadva4/41ms324 KiB
10Elfogadva4/42ms332 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/42ms580 KiB
13Elfogadva4/43ms508 KiB
14Elfogadva4/43ms316 KiB
15Elfogadva4/43ms316 KiB
16Elfogadva4/43ms508 KiB
17Elfogadva4/43ms564 KiB