139192025-01-09 10:53:44csdavidSorozat generáláscpp17Elfogadva 50/5035ms1332 KiB
#include <iostream>
#include <map>
#include <algorithm>
//#include <fstream>
using namespace std;

long long m, a, b, k;
long long x;
long long n;

bool alma(int x123, int y123){
    return x123>y123;
}

int main()
{
    //ifstream fin("be2.txt");
    cin >> m >> x >> a >> b >> n >> k;
    long long szamjegyek=0;
    long long tomb[n], temp;
    long long c[4*m];
    for(int i=0; i<n; i++){
        szamjegyek=0;
        x=x*a+b;
        //cout << tomb[i-1] << '\n';
        //cout << x << '\n';
        int j=4*m-1;
        while(x){
            c[j]=x%10;
            x=x/10;
            j--;
        }
        while(j>=0){
            c[j]=0;
            j--;
        }

        //cout << "\n";
        x=0;
        for(j=m; j<m*3; j++){
            x=x*10+c[j];
        }
        tomb[i]=x;

        //cout << x << "\n\n";

    }
    long long mini=1000000000;
    map<long long, long long> mp;
    map<long long, long long>::iterator it;
    for(int i=1; i<=n; i++){
        it=mp.find(tomb[i]);
        if(it==mp.end()){
            mp[tomb[i]]=i;
        }
        else{
            if(i-mp[tomb[i]]<mini){
                mini=i-mp[tomb[i]];
                mp[tomb[i]]=i;
            }
        }
    }
    cout << mini << '\n';
    sort(tomb, tomb+n, alma);
    /*for(int i=0; i<n; i++){
        cout << tomb[i] << ' ';
    }*/
    cout << tomb[k-1];
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/032ms1076 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/42ms532 KiB
9Elfogadva4/44ms560 KiB
10Elfogadva4/48ms816 KiB
11Elfogadva4/47ms812 KiB
12Elfogadva4/412ms820 KiB
13Elfogadva4/417ms1112 KiB
14Elfogadva4/426ms1220 KiB
15Elfogadva4/417ms1272 KiB
16Elfogadva4/435ms1076 KiB
17Elfogadva4/435ms1332 KiB