128182025-01-01 17:48:42MagyarKendeSZLGHázszámokcpp17Hibás válasz 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";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Elfogadva1ms320 KiB
3Elfogadva1ms320 KiB
subtask225/25
4Elfogadva1ms320 KiB
5Elfogadva1ms572 KiB
6Elfogadva1ms320 KiB
7Elfogadva1ms508 KiB
8Elfogadva1ms320 KiB
9Elfogadva1ms320 KiB
10Elfogadva1ms508 KiB
11Elfogadva1ms320 KiB
12Elfogadva1ms320 KiB
13Elfogadva1ms320 KiB
14Elfogadva1ms320 KiB
15Elfogadva1ms320 KiB
16Elfogadva1ms320 KiB
17Elfogadva1ms320 KiB
18Elfogadva1ms320 KiB
19Elfogadva1ms320 KiB
subtask30/10
20Hibás válasz1ms320 KiB
21Hibás válasz1ms320 KiB
22Hibás válasz1ms320 KiB
23Elfogadva1ms508 KiB
24Hibás válasz1ms320 KiB
subtask40/15
25Hibás válasz1ms320 KiB
26Hibás válasz1ms320 KiB
27Hibás válasz1ms320 KiB
28Elfogadva1ms320 KiB
29Elfogadva1ms508 KiB
30Elfogadva1ms500 KiB
31Elfogadva1ms320 KiB
32Elfogadva1ms320 KiB
33Elfogadva1ms320 KiB
subtask520/20
34Elfogadva1ms332 KiB
35Elfogadva1ms320 KiB
36Elfogadva1ms320 KiB
37Elfogadva1ms320 KiB
38Elfogadva1ms320 KiB
39Elfogadva1ms320 KiB
40Elfogadva1ms320 KiB
41Elfogadva1ms320 KiB
42Elfogadva1ms392 KiB
subtask60/30
43Hibás válasz1ms320 KiB
44Hibás válasz1ms320 KiB
45Elfogadva1ms320 KiB
46Elfogadva1ms320 KiB
47Elfogadva1ms324 KiB
48Elfogadva1ms320 KiB
49Elfogadva1ms320 KiB
50Elfogadva1ms320 KiB
51Elfogadva1ms320 KiB
52Elfogadva1ms320 KiB
53Hibás válasz1ms320 KiB
54Elfogadva1ms320 KiB
55Elfogadva1ms504 KiB
56Elfogadva1ms320 KiB
57Elfogadva1ms320 KiB
58Elfogadva1ms508 KiB
59Elfogadva1ms320 KiB
60Elfogadva1ms320 KiB