225192026-01-15 10:23:16badamSorozat generáláscpp17Hibás válasz 24/5025ms2352 KiB
#include <bits/stdc++.h>

using namespace std;
struct szam
{
    long long ertek, sorszam;
};
bool h(szam a, szam b)
{
    if(a.ertek==b.ertek) return a.sorszam<b.sorszam;
    else return a.ertek<b.ertek;
}
int main()
{
    long long M, curr, A, B, N, K;
    cin >> M >> curr >> A >> B >> N >> K;
    int v[N];
    for(int i=0; i<N; i++)
    {
        int x=A*curr+B;
        int y=pow(10,3*M);
        int z=pow(10,M);
        x=x%y;
        x=x/z;
        v[i]=x;
        curr=x;
    }
    szam t[N];
    for(int i=0; i<N; i++)
    {
        t[i].ertek=v[i];
        t[i].sorszam=i;
    }
    sort(t,t+N,h);
    long long   min_tavolsag=200000000, curr_tavolsag;
    for(int i=1; i<N; i++)
    {
        if(t[i].ertek==t[i-1].ertek)
        {
            curr_tavolsag=t[i].sorszam-t[i-1].sorszam;
        }
        if(curr_tavolsag<min_tavolsag) min_tavolsag=curr_tavolsag;
    }
    cout << min_tavolsag << endl;
    cout << t[N-K].ertek;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base24/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/025ms2352 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/22ms500 KiB
5Elfogadva2/22ms492 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/23ms316 KiB
8Részben helyes2/42ms580 KiB
9Elfogadva4/44ms564 KiB
10Elfogadva4/412ms1372 KiB
11Részben helyes2/412ms1372 KiB
12Részben helyes2/417ms1588 KiB
13Hibás válasz0/421ms2156 KiB
14Hibás válasz0/421ms2152 KiB
15Hibás válasz0/424ms2228 KiB
16Hibás válasz0/425ms2100 KiB
17Hibás válasz0/425ms2352 KiB