3865 2023. 03. 03 12:35:58 Erik_Gepard Sorozat generálás cpp17 Hibás válasz 16/50 4ms 4588 KiB
#include <bits/stdc++.h>
using namespace std;

int power10(int x){
    int ans=1;
    for(int i=1; i<=x; i++){
        ans*=10;
    }
    return ans;
}

void solve(){
    int m, x, a, b, n, k, step=0;
    cin>>m>>x>>a>>b>>n>>k;
    vector<int> v;
    map<int, int> found;
    map<int, int> db;
    found[x]=0;
    db[x]++;
    while(1){
        v.push_back(x);
        x=x*a+b;
        string s=to_string(x);
        reverse(s.begin(), s.end());
        for(int i=0; i<4*m-s.size(); i++){
            s+="0";
        }
        //cerr<<s<<" ";
        string ss=s.substr(m, 2*m);
        //cerr<<ss<<" ";
        int nextx=0;
        for(int i=0; i<ss.size(); i++){
            nextx+=(ss[i]-'0')*power10(i);
        }
        x=nextx;
        //cerr<<x<<"\n";
        step++;
        if(found[x]){
            cout<<step-found[x]<<"\n";
            //cerr<<found[x]<<"\n";
            for(int i=found[x]; i<step; i++){
                db[v[i]]=n/(step-found[x]);
            }
            for(int i=found[x]; i<=(n-found[x])%(step-found[x])+found[x]; i++){
                db[v[i]]++;
                //cerr<<v[i]<<" "<<db[v[i]]<<"OK ";
            }
            int x=0;
            for(pair<int, int> p : db){
                //cerr<<p.first<<" "<<p.second<<"\n";
                x+=p.second;
                if(x>k) {
                    cout<<p.first<<"\n";
                    break;
                }
            }
            break;
        }
        db[x]++;
        found[x]=step;
    }
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 16/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Hibás válasz 0/0 4ms 2508 KiB
3 Részben helyes 1/2 3ms 2400 KiB
4 Részben helyes 1/2 3ms 2572 KiB
5 Részben helyes 1/2 2ms 2828 KiB
6 Részben helyes 1/2 3ms 2924 KiB
7 Elfogadva 2/2 3ms 3044 KiB
8 Részben helyes 2/4 3ms 3392 KiB
9 Részben helyes 2/4 3ms 3632 KiB
10 Részben helyes 2/4 3ms 3736 KiB
11 Részben helyes 2/4 3ms 3912 KiB
12 Részben helyes 2/4 3ms 3992 KiB
13 Hibás válasz 0/4 3ms 4192 KiB
14 Hibás válasz 0/4 4ms 4588 KiB
15 Hibás válasz 0/4 4ms 4436 KiB
16 Hibás válasz 0/4 3ms 4084 KiB
17 Hibás válasz 0/4 3ms 4244 KiB