QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#767188 | #6339. Cookies | KiharaTouma | 0 | 2ms | 4084kb | C++23 | 1.6kb | 2024-11-20 20:06:19 | 2024-11-20 20:06:19 |
answer
//qoj6339
#include <bits/stdc++.h>
using namespace std;
const int N = 15010;
int n, m, a[N], b[N], c[N], pr[N], cnt[N], mx;
int f[N], fr[N];
int main(){
scanf("%d", &n);
for(int i = 1; i <= n; ++ i){
scanf("%d", &a[i]);
mx = max(mx, a[i]);
for(int j = 1; j <= a[i]; ++ j){
++ c[j];
}
}
int tp = 0;
for(int i = 1; i <= mx; ++ i){
for(int j = 1; j <= c[i]; ++ j){
pr[++tp] = i;
cnt[tp] = j;
}
}
scanf("%d", &m);
for(int i = 1; i <= m; ++ i){
scanf("%d", &b[i]);
}
sort(b + 1, b + m + 1);
reverse(b + 1, b + m + 1);
memset(f, 0x3f, sizeof(f));
f[0] = 0;
cnt[0] = 1e9;
for(int i = 1; i <= tp; ++ i){
for(int j = 1; j <= m; ++ j){
if(i >= b[j]){
if(pr[i] == pr[i-b[j]+1]){
f[i] = min(f[i], f[i-b[j]] + 1);
if(f[i] == f[i-b[j]] + 1){
fr[i] = i - b[j];
}
} else if(pr[i] == pr[i-b[j]+1] + 1 && cnt[i] < cnt[i-b[j]+1]){
f[i] = min(f[i], f[i-b[j]] + 1);
if(f[i] == f[i-b[j]] + 1){
fr[i] = i - b[j];
}
}
}
}
}
printf("%d\n", f[tp]);
int x = tp;
for(int i = 1; i <= f[tp]; ++ i){
printf("%d ", x - fr[x]);
for(int j = fr[x] + 1; j <= x; ++ j){
printf("%d ", cnt[j]);
}
puts("");
x = fr[x];
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 6
Accepted
time: 0ms
memory: 3864kb
input:
1 1 1 1
output:
1 1 1
result:
ok good!
Test #2:
score: 6
Accepted
time: 0ms
memory: 3956kb
input:
2 1 1 1 1
output:
2 1 2 1 1
result:
ok good!
Test #3:
score: 6
Accepted
time: 0ms
memory: 4012kb
input:
2 1 1 1 2
output:
1 2 1 2
result:
ok good!
Test #4:
score: 6
Accepted
time: 0ms
memory: 3992kb
input:
2 1 1 2 1 2
output:
1 2 1 2
result:
ok good!
Test #5:
score: 6
Accepted
time: 0ms
memory: 3896kb
input:
4 1 1 1 1 2 2 3
output:
2 2 3 4 2 1 2
result:
ok good!
Test #6:
score: 6
Accepted
time: 1ms
memory: 3996kb
input:
8 1 1 1 1 1 1 1 1 3 1 4 5
output:
2 4 5 6 7 8 4 1 2 3 4
result:
ok good!
Test #7:
score: 6
Accepted
time: 1ms
memory: 3940kb
input:
500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
500 1 500 1 499 1 498 1 497 1 496 1 495 1 494 1 493 1 492 1 491 1 490 1 489 1 488 1 487 1 486 1 485 1 484 1 483 1 482 1 481 1 480 1 479 1 478 1 477 1 476 1 475 1 474 1 473 1 472 1 471 1 470 1 469 1 468 1 467 1 466 1 465 1 464 1 463 1 462 1 461 1 460 1 459 1 ...
result:
ok good!
Test #8:
score: 6
Accepted
time: 0ms
memory: 3936kb
input:
500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
1 500 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...
result:
ok good!
Test #9:
score: 6
Accepted
time: 1ms
memory: 3828kb
input:
500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
2 1 500 499 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99...
result:
ok good!
Test #10:
score: 0
Time Limit Exceeded
input:
500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
1061109567 500 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
result:
Subtask #2:
score: 0
Time Limit Exceeded
Test #28:
score: 7
Accepted
time: 0ms
memory: 3828kb
input:
1 15 1 1
output:
15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
result:
ok good!
Test #29:
score: 7
Accepted
time: 0ms
memory: 3948kb
input:
1 500 1 1
output:
500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...
result:
ok good!
Test #30:
score: 7
Accepted
time: 1ms
memory: 3984kb
input:
1 3000 1 1
output:
3000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok good!
Test #31:
score: 7
Accepted
time: 2ms
memory: 4084kb
input:
1 15000 1 1
output:
15000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok good!
Test #32:
score: 7
Accepted
time: 0ms
memory: 3868kb
input:
2 2 1 1 1
output:
3 1 1 1 2 1 1
result:
ok good!
Test #33:
score: 0
Time Limit Exceeded
input:
2 1 2 1 2
output:
1061109567 3 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
result:
Subtask #3:
score: 0
Wrong Answer
Test #45:
score: 0
Wrong Answer
time: 1ms
memory: 3932kb
input:
2 7 8 2 1 2
output:
8 1 1 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2
result:
wrong answer you used too many item 1
Subtask #4:
score: 0
Skipped
Dependency #1:
0%
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #1:
0%