#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int base;
map<pair<ll, int>, ll> mem;
// I have no idea how this works, just started messing around with formulas on
// OEIS and got this working
// calculates the number of `d` digits used from `1..n`
ll pog(ll n, int d) {
if (n <= 0)
return 0;
if (mem.count({n, d})) {
return mem.at(pair<ll, int>(n, d));
}
ll r = n % base;
ll q = n / base;
ll res = q + (r + 1) * pog(q, d) + (base - r - 1) * pog(q - 1, d);
if (d != 0 && r >= d) {
res++;
}
return mem[pair<ll, int>(n, d)] = res;
}
int main() {
cin >> base;
vector<ll> budget(base);
for (auto &b : budget)
cin >> b;
auto is_enough = [&](ll n) {
for (int i = 0; i < base; i++) {
ll a = pog(n, i);
if (a > budget[i])
return false;
}
return true;
};
ll curr = 0;
for (int i = 60; i >= 0; i--) {
ll next = curr + (1ll << i);
if (is_enough(next)) {
curr = next;
}
}
cout << curr;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Hibás válasz | 8ms | 3084 KiB | ||||
| 2 | Elfogadva | 3ms | 2276 KiB | ||||
| 3 | Elfogadva | 4ms | 2632 KiB | ||||
| subtask2 | 0/25 | ||||||
| 4 | Hibás válasz | 8ms | 3700 KiB | ||||
| 5 | Hibás válasz | 8ms | 4216 KiB | ||||
| 6 | Hibás válasz | 7ms | 4136 KiB | ||||
| 7 | Elfogadva | 3ms | 3124 KiB | ||||
| 8 | Elfogadva | 3ms | 3300 KiB | ||||
| 9 | Elfogadva | 3ms | 3396 KiB | ||||
| 10 | Hibás válasz | 7ms | 4580 KiB | ||||
| 11 | Hibás válasz | 6ms | 4096 KiB | ||||
| 12 | Elfogadva | 3ms | 3472 KiB | ||||
| 13 | Elfogadva | 3ms | 3900 KiB | ||||
| 14 | Elfogadva | 3ms | 4132 KiB | ||||
| 15 | Elfogadva | 3ms | 4004 KiB | ||||
| 16 | Elfogadva | 3ms | 4064 KiB | ||||
| 17 | Elfogadva | 3ms | 4056 KiB | ||||
| 18 | Elfogadva | 3ms | 4052 KiB | ||||
| 19 | Elfogadva | 3ms | 4196 KiB | ||||
| subtask3 | 0/10 | ||||||
| 20 | Hibás válasz | 7ms | 5240 KiB | ||||
| 21 | Hibás válasz | 7ms | 5360 KiB | ||||
| 22 | Hibás válasz | 8ms | 5360 KiB | ||||
| 23 | Hibás válasz | 7ms | 5492 KiB | ||||
| 24 | Hibás válasz | 7ms | 5308 KiB | ||||
| subtask4 | 0/15 | ||||||
| 25 | Hibás válasz | 7ms | 5436 KiB | ||||
| 26 | Hibás válasz | 6ms | 5204 KiB | ||||
| 27 | Elfogadva | 4ms | 4932 KiB | ||||
| 28 | Elfogadva | 4ms | 4932 KiB | ||||
| 29 | Elfogadva | 4ms | 4968 KiB | ||||
| 30 | Elfogadva | 3ms | 4696 KiB | ||||
| 31 | Elfogadva | 4ms | 5072 KiB | ||||
| 32 | Elfogadva | 4ms | 5088 KiB | ||||
| 33 | Elfogadva | 4ms | 5088 KiB | ||||
| subtask5 | 20/20 | ||||||
| 34 | Elfogadva | 3ms | 4836 KiB | ||||
| 35 | Elfogadva | 3ms | 4928 KiB | ||||
| 36 | Elfogadva | 4ms | 5196 KiB | ||||
| 37 | Elfogadva | 4ms | 5304 KiB | ||||
| 38 | Elfogadva | 4ms | 5212 KiB | ||||
| 39 | Elfogadva | 4ms | 5012 KiB | ||||
| 40 | Elfogadva | 4ms | 5156 KiB | ||||
| 41 | Elfogadva | 4ms | 5036 KiB | ||||
| 42 | Elfogadva | 4ms | 5128 KiB | ||||
| subtask6 | 0/30 | ||||||
| 43 | Hibás válasz | 7ms | 5876 KiB | ||||
| 44 | Hibás válasz | 6ms | 5556 KiB | ||||
| 45 | Elfogadva | 4ms | 5004 KiB | ||||
| 46 | Elfogadva | 4ms | 5056 KiB | ||||
| 47 | Elfogadva | 4ms | 5316 KiB | ||||
| 48 | Elfogadva | 4ms | 5436 KiB | ||||
| 49 | Elfogadva | 4ms | 5244 KiB | ||||
| 50 | Elfogadva | 4ms | 5256 KiB | ||||
| 51 | Elfogadva | 4ms | 5260 KiB | ||||
| 52 | Hibás válasz | 8ms | 6084 KiB | ||||
| 53 | Hibás válasz | 6ms | 5736 KiB | ||||
| 54 | Elfogadva | 4ms | 5228 KiB | ||||
| 55 | Elfogadva | 4ms | 5544 KiB | ||||
| 56 | Elfogadva | 4ms | 5472 KiB | ||||
| 57 | Elfogadva | 4ms | 5500 KiB | ||||
| 58 | Elfogadva | 4ms | 5752 KiB | ||||
| 59 | Elfogadva | 4ms | 5596 KiB | ||||
| 60 | Elfogadva | 4ms | 5456 KiB | ||||