Task: | Ice cream |
Sender: | shihabsarar29 |
Submission time: | 2017-01-20 17:31:04 +0200 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.04 s | details |
#2 | ACCEPTED | 0.03 s | details |
#3 | ACCEPTED | 0.04 s | details |
#4 | ACCEPTED | 0.03 s | details |
#5 | ACCEPTED | 0.04 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.04 s | details |
#8 | ACCEPTED | 0.04 s | details |
#9 | ACCEPTED | 0.04 s | details |
#10 | ACCEPTED | 0.04 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:29:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d",&T,&money); ^ input/code.cpp:31:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d",&H[i],&P[i]); ^
Code
#include<bits/stdc++.h> using namespace std; int N[105],money,H[105],P[105],adp[105][1005][5],T; bool vis[105][1005][5]; int dp(int i,int M,int O) { int weight1=0,weight2=0; if(i>=T || O>=2) return 0; if(!vis[i][M][O]) vis[i][M][O]=true; else return adp[i][M][O]; if(M+H[i]<=money){ weight1=P[i]+dp(i,M+H[i],O+1); } else weight1=0; weight2=dp(i+1,M,O); adp[i][M][O]=max(weight1,weight2); return adp[i][M][O]; } int main() { int i; scanf("%d %d",&T,&money); for(i=0;i<T;i++){ scanf("%d %d",&H[i],&P[i]); } printf("%d\n",dp(0,0,0)); return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 749 88 363 |
correct output |
---|
726 |
user output |
---|
726 |
Test 2
Verdict: ACCEPTED
input |
---|
2 902 968 550 152 228 |
correct output |
---|
456 |
user output |
---|
456 |
Test 3
Verdict: ACCEPTED
input |
---|
5 295 35 81 653 771 747 823 871 611 ... |
correct output |
---|
162 |
user output |
---|
162 |
Test 4
Verdict: ACCEPTED
input |
---|
10 272 38 13 114 420 42 344 942 307 ... |
correct output |
---|
840 |
user output |
---|
840 |
Test 5
Verdict: ACCEPTED
input |
---|
50 468 867 254 870 736 28 739 60 609 ... |
correct output |
---|
2000 |
user output |
---|
2000 |
Test 6
Verdict: ACCEPTED
input |
---|
100 739 395 712 476 916 102 614 312 533 ... |
correct output |
---|
1928 |
user output |
---|
1928 |
Test 7
Verdict: ACCEPTED
input |
---|
100 781 342 898 466 888 713 516 133 389 ... |
correct output |
---|
1894 |
user output |
---|
1894 |
Test 8
Verdict: ACCEPTED
input |
---|
100 297 423 506 135 31 279 441 362 969 ... |
correct output |
---|
1906 |
user output |
---|
1906 |
Test 9
Verdict: ACCEPTED
input |
---|
100 875 917 956 243 815 365 575 42 846 ... |
correct output |
---|
1960 |
user output |
---|
1960 |
Test 10
Verdict: ACCEPTED
input |
---|
100 651 963 307 169 423 172 150 779 998 ... |
correct output |
---|
1970 |
user output |
---|
1970 |