221942026-01-14 17:43:45hunzombiSorozat generáláscpp17Accepted 50/5017ms2140 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<ll> vi;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

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

    cin >> m >> x >> a >> b >> n >> k;

    ll p = 1;
    for (ll i=0; i < m; i++) p *= 10;
    ll p2 = p * p;

    vi seq;
    seq.reserve(n);

    unordered_map<ll, ll> last_pos;
    last_pos.reserve(n);

    ll ans_dist = INT_MAX;

    ll curr = x;

    for (ll i=0; i < n; i++) {
        ll y = curr * a + b;

        int next = (y / p) % p2;

        seq.push_back(next);

        if (last_pos.count(next)) {
            ans_dist = min(ans_dist, i - last_pos[next]);
        }
        last_pos[next] = i;

        curr = next;
    }

    sort(seq.begin(), seq.end());

    cout << ans_dist << '\n' << seq[seq.size() - k] << '\n';

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/017ms1976 KiB
3Accepted2/21ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/22ms316 KiB
8Accepted4/43ms316 KiB
9Accepted4/44ms792 KiB
10Accepted4/48ms1096 KiB
11Accepted4/48ms1076 KiB
12Accepted4/410ms1428 KiB
13Accepted4/414ms1856 KiB
14Accepted4/414ms1744 KiB
15Accepted4/414ms1912 KiB
16Accepted4/417ms2128 KiB
17Accepted4/417ms2140 KiB