QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#859287 | #9679. 盒子 | __zyx__ | 0 | 250ms | 5716kb | C++17 | 946b | 2025-01-17 17:03:20 | 2025-01-17 17:03:44 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 5e5 + 5;
int n, m, k, c, a[N], s[N];
unordered_map <int, unordered_map <int, int> > f;
int dfs(int i, int x) {
if (i > n) return 0;
if (f[i].find(x) != f[i].end()) return f[i][x];
if (!x) return dfs(i + 1, a[i + 1]);
if (s[i + m - 1] - s[i] + x < k)
return f[i][x] = min(dfs(i + 1, a[i + 1]) + x, dfs(i + m, a[i + m]) + c);
if (x >= k) return f[i][x] = dfs(i, x % k) + x / k * c;
int L = i, R = n, res = i;
while (L <= R) {
int mid = L + R >> 1;
if (s[mid] - s[i] + x <= k) res = mid, L = mid + 1;
else R = mid - 1;
}
return f[i][x] = dfs(res + 1, a[res + 1] - k + s[res] - s[i] + x) + c;
}
void solve() {
cin >> n >> m >> k >> c; f.clear();
for (int i = 1; i <= n; i++)
cin >> a[i], s[i] = s[i - 1] + a[i];
cout << dfs(1, a[1]) << '\n';
}
signed main() {
int T; cin >> T;
while (T--) solve();
return 0;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 17
Accepted
time: 0ms
memory: 5716kb
input:
3 5 2 4 3 2 2 1 2 2 4 2 4 3 2 4 1 1 10 3 5 1 2 2 2 2 1 1 1 10 2 2
output:
7 7 6
result:
ok 3 number(s): "7 7 6"
Test #2:
score: 0
Wrong Answer
time: 1ms
memory: 5708kb
input:
65 7 1 27 22 70 29 32 15 69 79 84 10 2 2 1 76 63 99 67 75 30 29 45 79 23 9 1 4 3 47 91 10 30 91 29 12 14 53 10 1 5 4 92 22 92 27 30 50 59 6 57 58 5 2 15 15 59 27 70 24 11 5 2 42 42 70 50 42 55 5 6 2 54 46 67 14 52 80 95 3 10 2 89 88 55 14 45 14 90 81 38 40 54 17 5 2 93 86 35 58 76 64 73 6 1 45 43 63...
output:
320 283 287 398 195 252 289 445 285 344 307 279 348 312 370 427 199 175 286 502 344 197 380 233 264 249 454 252 160 280 482 475 330 373 249 293 228 561 268 475 253 540 464 476 186 223 368 333 368 392 507 494 132 179 224 250 297 216 460 520 172 476 433 430 578
result:
wrong answer 2nd numbers differ - expected: '293', found: '283'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Wrong Answer
Test #35:
score: 0
Wrong Answer
time: 250ms
memory: 5712kb
input:
66664 7 2 82188055 1 35930054 4923258 36288509 46890418 53350617 49812938 68015568 10 2 460335201 1 305598063 240803174 36008172 416771728 391050572 270293987 333994588 436573185 216917970 103343453 9 3 119910901 1 35106715 29444257 72409421 49339248 23617992 3266647 38704192 75874356 72979434 10 1 ...
output:
5 8 4 13 8 3 8 13 3 4 6 10 8 5 11 13 9 14 5 7 5 11 11 4 3 9 7 4 6 5 6 4 5 12 5 9 3 5 10 12 6 6 14 15 4 7 14 14 7 5 7 6 9 5 3 10 8 8 7 6 7 5 11 6 6 5 6 7 4 9 9 9 6 4 4 5 7 6 6 13 6 10 12 5 4 10 14 7 3 7 5 4 7 9 8 13 4 4 8 10 6 6 6 15 10 15 11 3 4 6 7 5 11 13 6 16 13 8 7 10 7 14 11 7 6 9 10 10 8 4 5 7...
result:
wrong answer 483rd numbers differ - expected: '5', found: '4'
Subtask #5:
score: 0
Skipped
Dependency #1:
0%