ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#199322 | #2328. walk | wosile | 100 | 785ms | 56500kb | C++11 | 683b | 2023-12-10 10:59:42 | 2023-12-10 12:06:09 |
answer
#include<bits/stdc++.h>
using namespace std;
int n,x;
vector<int>f[100005];
int a[100005];
int main(){
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
for(int i=0;i<=n;i++)f[i].resize(x/max(1,i)+1,0x3f3f3f3f);
for(int i=n;i>=0;i--){
if(a[i]<f[i].size())f[i][a[i]]=min(f[i][a[i]],0);
for(int j=0;j<f[i].size();j++){
if(j<f[i+1].size() && f[i+1][j]+j+2<=x)f[i][j]=min(f[i][j],f[i+1][j]+j+2);
if(j-a[i]>=0 && j-a[i]<f[i+1].size() && f[i+1][j-a[i]]+j-a[i]+2<=x)f[i][j]=min(f[i][j],f[i+1][j-a[i]]+j-a[i]+2);
}
}
int ans=0;
for(int i=0;i<f[0].size();i++)if(f[0][i]<=x)ans=i;
printf("%d",ans);
return 0;
//quod erat demonstrandum
}
详细
小提示:点击横条可展开更详细的信息
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 8ms
memory: 19540kb
input:
12 1000000 282398 935019 648091 691566 702741 603584 939630 791726 343639 822182 831651 291644
output:
282398
result:
ok 1 number(s): "282398"
Test #2:
score: 0
Accepted
time: 8ms
memory: 19536kb
input:
12 1000000 419157 284950 271178 203225 69785 112829 3004 36496 96239 31000 24370 45877
output:
704107
result:
ok 1 number(s): "704107"
Test #3:
score: 0
Accepted
time: 13ms
memory: 19536kb
input:
12 1000000 67728 18877 17984 15810 8177 6653 12294 9947 2672 2311 6268 7712
output:
176433
result:
ok 1 number(s): "176433"
Test #4:
score: 0
Accepted
time: 9ms
memory: 19536kb
input:
12 1000000 10 4 6 6 6 10 9 3 2 7 8 7
output:
78
result:
ok 1 number(s): "78"
Test #5:
score: 0
Accepted
time: 16ms
memory: 19540kb
input:
12 1000000 0 0 0 0 0 0 0 0 0 0 0 0
output:
0
result:
ok 1 number(s): "0"
Test #6:
score: 0
Accepted
time: 16ms
memory: 19536kb
input:
12 1000000 1 1 1 1 1 1 1 1 1 1 1 1
output:
12
result:
ok 1 number(s): "12"
Test #7:
score: 0
Accepted
time: 7ms
memory: 19540kb
input:
12 1000000 100000 50000 33333 25000 20000 16666 14285 12500 11111 10000 9090 8333
output:
289207
result:
ok 1 number(s): "289207"
Subtask #2:
score: 20
Accepted
Test #8:
score: 20
Accepted
time: 2ms
memory: 3608kb
input:
500 1000 211 508 886 914 928 584 457 490 600 809 291 598 245 282 744 240 587 253 583 190 764 547 958...
output:
235
result:
ok 1 number(s): "235"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
500 1000 727 107 303 247 20 144 78 92 56 96 50 43 24 21 62 50 20 54 12 2 2 25 41 12 20 21 16 11 1 21...
output:
834
result:
ok 1 number(s): "834"
Test #10:
score: 0
Accepted
time: 2ms
memory: 3612kb
input:
500 1000 54 9 25 3 15 5 10 1 5 2 0 6 6 3 3 3 0 5 0 5 1 4 4 2 2 2 0 2 0 2 2 2 1 2 1 2 1 1 1 2 0 0 0 1...
output:
163
result:
ok 1 number(s): "163"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
500 1000 7 7 2 0 9 0 7 7 2 6 1 1 10 10 8 4 9 8 4 4 5 0 2 8 4 5 5 3 10 5 3 3 0 1 2 10 4 2 1 1 9 10 0 ...
output:
94
result:
ok 1 number(s): "94"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
500 1000 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...
output:
0
result:
ok 1 number(s): "0"
Test #13:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
500 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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:
42
result:
ok 1 number(s): "42"
Test #14:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
500 1000 100 50 33 25 20 16 14 12 11 10 9 8 7 7 6 6 5 5 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 ...
output:
283
result:
ok 1 number(s): "283"
Subtask #3:
score: 25
Accepted
Test #15:
score: 25
Accepted
time: 27ms
memory: 43140kb
input:
5000 1000000 648326 778378 866487 793419 952901 147233 661818 311030 497933 764456 689108 468994 157...
output:
655878
result:
ok 1 number(s): "655878"
Test #16:
score: 0
Accepted
time: 37ms
memory: 43144kb
input:
5000 1000000 853063 17195 140515 20799 36699 85249 118216 86663 44968 39461 78546 59500 5814 67400 3...
output:
891996
result:
ok 1 number(s): "891996"
Test #17:
score: 0
Accepted
time: 41ms
memory: 43144kb
input:
5000 1000000 27465 25289 13636 11668 7336 15395 2095 5788 2717 7089 1116 3328 4638 564 1608 2838 111...
output:
148198
result:
ok 1 number(s): "148198"
Test #18:
score: 0
Accepted
time: 40ms
memory: 43144kb
input:
5000 1000000 0 6 4 4 10 4 5 3 10 10 7 5 1 1 10 5 1 8 10 5 5 4 9 10 6 3 7 1 1 2 10 8 10 0 5 5 3 9 1 9...
output:
3195
result:
ok 1 number(s): "3195"
Test #19:
score: 0
Accepted
time: 30ms
memory: 43140kb
input:
5000 1000000 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...
output:
0
result:
ok 1 number(s): "0"
Test #20:
score: 0
Accepted
time: 41ms
memory: 43140kb
input:
5000 1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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:
1411
result:
ok 1 number(s): "1411"
Test #21:
score: 0
Accepted
time: 44ms
memory: 43140kb
input:
5000 1000000 100000 50000 33333 25000 20000 16666 14285 12500 11111 10000 9090 8333 7692 7142 6666 6...
output:
289207
result:
ok 1 number(s): "289207"
Subtask #4:
score: 45
Accepted
Test #22:
score: 45
Accepted
time: 59ms
memory: 56496kb
input:
100000 1000000 451184 326001 970878 369564 645562 309372 896511 862054 375145 52106 254628 253141 58...
output:
503290
result:
ok 1 number(s): "503290"
Test #23:
score: 0
Accepted
time: 57ms
memory: 56496kb
input:
100000 1000000 396218 439951 69523 50101 84360 87747 74335 89791 87982 8183 83706 79521 58009 5707 2...
output:
530587
result:
ok 1 number(s): "530587"
Test #24:
score: 0
Accepted
time: 83ms
memory: 56496kb
input:
100000 1000000 45811 41859 27348 15587 72 5882 1517 8863 3740 6049 5680 2346 5308 7009 3321 4969 131...
output:
191972
result:
ok 1 number(s): "191972"
Test #25:
score: 0
Accepted
time: 64ms
memory: 56496kb
input:
100000 1000000 0 0 6 10 2 9 4 7 7 4 3 1 8 9 3 10 8 9 9 4 8 4 4 7 6 7 0 1 9 0 9 7 4 2 2 10 4 7 1 6 10...
output:
3137
result:
ok 1 number(s): "3137"
Test #26:
score: 0
Accepted
time: 53ms
memory: 56500kb
input:
100000 1000000 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...
output:
0
result:
ok 1 number(s): "0"
Test #27:
score: 0
Accepted
time: 70ms
memory: 56500kb
input:
100000 1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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:
1411
result:
ok 1 number(s): "1411"
Test #28:
score: 0
Accepted
time: 58ms
memory: 56496kb
input:
100000 1000000 100000 50000 33333 25000 20000 16666 14285 12500 11111 10000 9090 8333 7692 7142 6666...
output:
289207
result:
ok 1 number(s): "289207"
Extra Test:
score: 0
Extra Test Passed