128202025-01-01 18:02:50MagyarKendeSZLGHázszámokcpp17Wrong answer 45/1001ms560 KiB
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

const int MAXW = 17;

int32_t main() {
    cin.tie(0), ios::sync_with_stdio(0);
    int K;
    cin >> K;
    vector<int> a(K);
    cin >> a[K - 1];
    for (int i = 0; i < K - 1; i++) cin >> a[i];

    vector<int> pw(MAXW + 1, 1);
    for (int i = 1; i <= MAXW; i++) pw[i] = pw[i - 1] * K;

    auto f = [&](int n) -> bool {
        vector<int> req(K);
        for (int i = 1; i <= MAXW; i++) {
            int num = max((int)0, n - (pw[i - 1] - 1));
            int div = num / pw[i], rem = num % pw[i];
            for (int j = 0; j < K; j++) {
                req[j] += div * pw[i - 1];
                req[j] += min(rem, pw[i - 1]);
                if (req[j] > a[j]) return 0;
                rem -= min(rem, pw[i - 1]);
            }
        }
        return 1;
    };

    int l = 0, r = 1e17;
    while (r - l > 1) {
        int m = (r + l) / 2;
        if (!f(m)) {
            r = m;
        } else {
            l = m;
        }
    }
    cout << l << "\n";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms508 KiB
2Accepted1ms320 KiB
3Accepted1ms320 KiB
subtask225/25
4Accepted1ms320 KiB
5Accepted1ms320 KiB
6Accepted1ms320 KiB
7Accepted1ms320 KiB
8Accepted1ms320 KiB
9Accepted1ms320 KiB
10Accepted1ms320 KiB
11Accepted1ms428 KiB
12Accepted1ms320 KiB
13Accepted1ms320 KiB
14Accepted1ms320 KiB
15Accepted1ms320 KiB
16Accepted1ms320 KiB
17Accepted1ms320 KiB
18Accepted1ms320 KiB
19Accepted1ms388 KiB
subtask30/10
20Wrong answer1ms320 KiB
21Wrong answer1ms512 KiB
22Wrong answer1ms512 KiB
23Accepted1ms320 KiB
24Wrong answer1ms320 KiB
subtask40/15
25Wrong answer1ms508 KiB
26Wrong answer1ms508 KiB
27Wrong answer1ms320 KiB
28Accepted1ms320 KiB
29Accepted1ms320 KiB
30Accepted1ms508 KiB
31Accepted1ms548 KiB
32Accepted1ms320 KiB
33Accepted1ms320 KiB
subtask520/20
34Accepted1ms336 KiB
35Accepted1ms320 KiB
36Accepted1ms320 KiB
37Accepted1ms320 KiB
38Accepted1ms320 KiB
39Accepted1ms320 KiB
40Accepted1ms320 KiB
41Accepted1ms320 KiB
42Accepted1ms320 KiB
subtask60/30
43Wrong answer1ms320 KiB
44Wrong answer1ms320 KiB
45Wrong answer1ms380 KiB
46Accepted1ms320 KiB
47Accepted1ms320 KiB
48Accepted1ms320 KiB
49Accepted1ms508 KiB
50Accepted1ms320 KiB
51Accepted1ms320 KiB
52Accepted1ms320 KiB
53Wrong answer1ms320 KiB
54Wrong answer1ms500 KiB
55Accepted1ms320 KiB
56Accepted1ms320 KiB
57Accepted1ms320 KiB
58Accepted1ms320 KiB
59Accepted1ms352 KiB
60Accepted1ms560 KiB