198242025-12-24 12:09:52KristófSorozat generáláscpp17Elfogadva 50/5014ms8244 KiB
#include <iostream>
#include <map>
#include <queue>
#include <cmath>
#include <vector>
#include <climits>
using namespace std;

long long ipow(int e)
    {
    long long r = 1;
    while (e--) r *= 10;
    return r;
    }
int main()
{
    int m,a,b,k,n;long long num;
    cin>>m>>num>>a>>b>>n>>k;
    int MOD = ipow(2*m);
    int DIV = ipow(m);
    vector<int> lastseen(MOD, -1);
    vector<int> freq(MOD, 0);
    int mindist = INT_MAX;
    int cur = num;
    for (int i = 1; i <= n; i++) {
        long long y = 1LL * cur * a + b;
        cur = (y / DIV) % MOD;
        if (lastseen[cur] != -1)
            mindist = min(mindist, i - lastseen[cur]);
        lastseen[cur] = i;
        freq[cur]++;
    }
    cout << mindist << "\n";
    for (int v = MOD - 1; v >= 0; v--) {
        if (freq[v] >= k) {
            cout << v;
            break;
        }
        k-=freq[v];
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/014ms8048 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms500 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/42ms552 KiB
10Elfogadva4/43ms508 KiB
11Elfogadva4/43ms316 KiB
12Elfogadva4/44ms316 KiB
13Elfogadva4/414ms8244 KiB
14Elfogadva4/413ms8244 KiB
15Elfogadva4/413ms8244 KiB
16Elfogadva4/413ms8012 KiB
17Elfogadva4/412ms7992 KiB