1617 | 2022. 11. 29 16:44:36 | kovacs.peter.18f | Sorozat generálás | cpp11 | Elfogadva 50/50 | 14ms | 5716 KiB |
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
int pow10(int n) {
int result = 1;
while (n--) {
result *= 10;
}
return result;
}
int main() {
cin.sync_with_stdio(false);
cin.tie(nullptr);
long long M, X, A, B, N, K;
cin >> M >> X >> A >> B >> N >> K;
vector<long long> numberS(N);
map<long long, int> lastS;
bool found = false;
numberS[0] = (X * A + B) / pow10(M) % pow10(2 * M);
for (int i = 1; i < N; i++) {
numberS[i] = (numberS[i - 1] * A + B) / pow10(M) % pow10(2 * M);
if (!found) {
if (lastS.find(numberS[i]) == lastS.end()) {
lastS[numberS[i]] = i;
}
else {
found = true;
cout << i - lastS[numberS[i]] << '\n';
}
}
}
sort(numberS.rbegin(), numberS.rend());
cout << numberS[K - 1] << '\n';
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 14ms | 3476 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2100 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2404 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2608 KiB | |||
6 | Elfogadva | 2/2 | 2ms | 2540 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2576 KiB | |||
8 | Elfogadva | 4/4 | 3ms | 2592 KiB | |||
9 | Elfogadva | 4/4 | 4ms | 2936 KiB | |||
10 | Elfogadva | 4/4 | 7ms | 3740 KiB | |||
11 | Elfogadva | 4/4 | 7ms | 3868 KiB | |||
12 | Elfogadva | 4/4 | 8ms | 4216 KiB | |||
13 | Elfogadva | 4/4 | 12ms | 4808 KiB | |||
14 | Elfogadva | 4/4 | 13ms | 5004 KiB | |||
15 | Elfogadva | 4/4 | 12ms | 5340 KiB | |||
16 | Elfogadva | 4/4 | 14ms | 5512 KiB | |||
17 | Elfogadva | 4/4 | 14ms | 5716 KiB |