CSES - Datatähti Open 2017 - Results
Submission details
Task:Ice cream
Sender:shihabsarar29
Submission time:2017-01-20 17:31:04 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.03 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.03 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails

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