QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#637274 | #7304. Coins 2 | liuziao | TL | 25ms | 4688kb | C++14 | 1.2kb | 2024-10-13 11:57:14 | 2024-10-13 11:57:15 |
Judging History
answer
#include <bits/stdc++.h>
// #define int int64_t
const int kMaxN = 105;
int n;
int a[kMaxN];
namespace Sub1 {
const int kMaxS = 1e6 + 5;
bool f[kMaxS];
void solve() {
std::fill_n(f, kMaxS, 0);
f[0] = 1;
int d = 0;
int64_t sum = 0;
for (int i = 1; i <= n; ++i) {
if (a[i]) d = std::__gcd(d, i);
sum += 1ll * i * a[i];
}
if (!d) return void(std::cout << "1\n");
for (int i = 1; i <= n; ++i) {
static int lst[kMaxN];
std::fill_n(lst, i, -1);
for (int j = 0; j <= 1e6; ++j) {
if (f[j]) lst[j % i] = j;
if (lst[j % i] != -1 && (j - lst[j % i]) / i <= a[i]) f[j] = 1;
}
}
int64_t ans = 0;
for (int i = 0; i <= 1e6; ++i) ans += f[i];
if (sum > 1e6) ans += sum / d - 1000000 / d;
std::cout << ans << '\n';
}
} // namespace Sub1
void dickdreamer() {
for (int i = 1; i <= n; ++i) std::cin >> a[i];
Sub1::solve();
}
int32_t main() {
#ifdef ORZXKR
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0);
int T = 1;
// std::cin >> T;
while (std::cin >> n) dickdreamer();
// std::cerr << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 17ms
memory: 4688kb
input:
3 0 1 2 3 0 2 3
output:
6 12
result:
ok 2 number(s): "6 12"
Test #2:
score: 0
Accepted
time: 25ms
memory: 4684kb
input:
1 0 15 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
output:
1 120000000001
result:
ok 2 number(s): "1 120000000001"
Test #3:
score: -100
Time Limit Exceeded
input:
5 0 2 1 0 0 5 0 0 0 0 53 5 0 6 3 0 0 5 1 0 0 0 1 5 1 0 0 0 0 5 2 0 0 0 116 5 2 0 0 0 0 5 1 0 1 106 1356 5 0 2 0 0 7926 5 0 0 2 1 2004 5 1 0 0 0 1 5 0 0 0 1 5 5 0 0 0 0 0 5 0 1 32840 0 1 5 2 0 0 0 12 5 2 0 0 1 1 5 0 1 79 56770 10 5 1 0 0 1 0 5 0 1 1 2 52165 5 0 0 0 0 1 5 0 0 1 13 0 5 0 0 0 1 10 5 0 0...