6978 2023. 12. 23 17:55:39 MagyarKendeSZLG Sorozat generálás cpp17 Elfogadva 50/50 21ms 5768 KiB
#include <iostream>
#include <vector>
#include <unordered_map>
#include <string>
#include <algorithm>
#define speed cin.tie(0); ios::sync_with_stdio(0)

using namespace std;
using ll = unsigned long long;

int main() {
    speed;

    ll M, X, A, B, N, K;
    cin >> M >> X >> A >> B >> N >> K;
    vector<ll> row(N);
    unordered_map<ll, ll> vis;
    bool found = 0;

    for (int i = 0; i < N; i++) {
        row[i] = i ? row[i - 1] : X;

        row[i] *= A;
        row[i] += B;

        string s = to_string(row[i]);
        while (s.size() != 4 * M) s = "0" + s;

        row[i] = stoi(s.substr(M, 2 * M));

        if (!found) {
            if (vis[row[i]]) {
                found = 1;
                cout << i + 1 - vis[row[i]] << '\n';
            } else {
                vis[row[i]] = i + 1;
            }
        }
    }

    sort(row.begin(), row.end(), greater<ll>());
    cout << row[K - 1];
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 19ms 3480 KiB
3 Elfogadva 2/2 3ms 2232 KiB
4 Elfogadva 2/2 3ms 2608 KiB
5 Elfogadva 2/2 3ms 2828 KiB
6 Elfogadva 2/2 3ms 3020 KiB
7 Elfogadva 2/2 3ms 3272 KiB
8 Elfogadva 4/4 4ms 3360 KiB
9 Elfogadva 4/4 6ms 3544 KiB
10 Elfogadva 4/4 10ms 4180 KiB
11 Elfogadva 4/4 8ms 4236 KiB
12 Elfogadva 4/4 13ms 4632 KiB
13 Elfogadva 4/4 16ms 5184 KiB
14 Elfogadva 4/4 21ms 5444 KiB
15 Elfogadva 4/4 19ms 5532 KiB
16 Elfogadva 4/4 19ms 5712 KiB
17 Elfogadva 4/4 19ms 5768 KiB