128182025-01-01 17:48:42MagyarKendeSZLGHázszámokcpp17Wrong answer 45/1001ms572 KiB
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

const int MAXW = 18;

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++) {
            if (n < pw[i - 1] - 1) return 1;
            int div = (n - (pw[i - 1] - 1)) / pw[i],
                rem = max((int)0, n - (pw[i - 1] - 1)) %
                      pw[i];
            if (!div && !rem) return 1;
            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 = 1e18;
    while (r - l > 1) {
        int m = (r + l) / 2;
        if (!f(m)) {
            r = m;
        } else {
            l = m;
        }
    }
    cout << l << "\n";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms320 KiB
2Accepted1ms320 KiB
3Accepted1ms320 KiB
subtask225/25
4Accepted1ms320 KiB
5Accepted1ms572 KiB
6Accepted1ms320 KiB
7Accepted1ms508 KiB
8Accepted1ms320 KiB
9Accepted1ms320 KiB
10Accepted1ms508 KiB
11Accepted1ms320 KiB
12Accepted1ms320 KiB
13Accepted1ms320 KiB
14Accepted1ms320 KiB
15Accepted1ms320 KiB
16Accepted1ms320 KiB
17Accepted1ms320 KiB
18Accepted1ms320 KiB
19Accepted1ms320 KiB
subtask30/10
20Wrong answer1ms320 KiB
21Wrong answer1ms320 KiB
22Wrong answer1ms320 KiB
23Accepted1ms508 KiB
24Wrong answer1ms320 KiB
subtask40/15
25Wrong answer1ms320 KiB
26Wrong answer1ms320 KiB
27Wrong answer1ms320 KiB
28Accepted1ms320 KiB
29Accepted1ms508 KiB
30Accepted1ms500 KiB
31Accepted1ms320 KiB
32Accepted1ms320 KiB
33Accepted1ms320 KiB
subtask520/20
34Accepted1ms332 KiB
35Accepted1ms320 KiB
36Accepted1ms320 KiB
37Accepted1ms320 KiB
38Accepted1ms320 KiB
39Accepted1ms320 KiB
40Accepted1ms320 KiB
41Accepted1ms320 KiB
42Accepted1ms392 KiB
subtask60/30
43Wrong answer1ms320 KiB
44Wrong answer1ms320 KiB
45Accepted1ms320 KiB
46Accepted1ms320 KiB
47Accepted1ms324 KiB
48Accepted1ms320 KiB
49Accepted1ms320 KiB
50Accepted1ms320 KiB
51Accepted1ms320 KiB
52Accepted1ms320 KiB
53Wrong answer1ms320 KiB
54Accepted1ms320 KiB
55Accepted1ms504 KiB
56Accepted1ms320 KiB
57Accepted1ms320 KiB
58Accepted1ms508 KiB
59Accepted1ms320 KiB
60Accepted1ms320 KiB