128172025-01-01 16:23:52MagyarKendeSZLGHázszámokcpp17Hibás válasz 45/1001ms560 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++) {
            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
5Elfogadva1ms500 KiB
6Elfogadva1ms320 KiB
7Elfogadva1ms320 KiB
8Elfogadva1ms320 KiB
9Elfogadva1ms320 KiB
10Elfogadva1ms320 KiB
11Elfogadva1ms320 KiB
12Elfogadva1ms320 KiB
13Elfogadva1ms320 KiB
14Elfogadva1ms332 KiB
15Elfogadva1ms320 KiB
16Elfogadva1ms320 KiB
17Elfogadva1ms560 KiB
18Elfogadva1ms320 KiB
19Elfogadva1ms320 KiB
subtask30/10
20Hibás válasz1ms320 KiB
21Hibás válasz1ms320 KiB
22Hibás válasz1ms320 KiB
23Elfogadva1ms320 KiB
24Hibás válasz1ms320 KiB
subtask40/15
25Hibás válasz1ms320 KiB
26Hibás válasz1ms320 KiB
27Hibás válasz1ms320 KiB
28Elfogadva1ms544 KiB
29Elfogadva1ms320 KiB
30Elfogadva1ms320 KiB
31Elfogadva1ms320 KiB
32Elfogadva1ms320 KiB
33Elfogadva1ms320 KiB
subtask520/20
34Elfogadva1ms500 KiB
35Elfogadva1ms320 KiB
36Elfogadva1ms508 KiB
37Elfogadva1ms320 KiB
38Elfogadva1ms320 KiB
39Elfogadva1ms500 KiB
40Elfogadva1ms320 KiB
41Elfogadva1ms320 KiB
42Elfogadva1ms320 KiB
subtask60/30
43Hibás válasz1ms320 KiB
44Hibás válasz1ms508 KiB
45Elfogadva1ms508 KiB
46Elfogadva1ms320 KiB
47Elfogadva1ms320 KiB
48Elfogadva1ms320 KiB
49Elfogadva1ms320 KiB
50Elfogadva1ms376 KiB
51Elfogadva1ms320 KiB
52Elfogadva1ms508 KiB
53Hibás válasz1ms320 KiB
54Elfogadva1ms320 KiB
55Elfogadva1ms320 KiB
56Elfogadva1ms320 KiB
57Elfogadva1ms320 KiB
58Elfogadva1ms320 KiB
59Elfogadva1ms320 KiB
60Elfogadva1ms320 KiB