CSES - Datatähti Open 2017 - Results
Submission details
Task:Ice cream
Sender:AMO5
Submission time:2017-01-22 16:22:38 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.04 sdetails
#60.04 sdetails
#70.04 sdetails
#8ACCEPTED0.04 sdetails
#90.04 sdetails
#100.04 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:40:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int a=0;a<po.size();a++){
                               ^
input/code.cpp:33:18: warning: 'clw' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if((x/2-p[clw])>=0) cout << 2*lw << endl;
                  ^
input/code.cpp:38:43: warning: 'lw' may be used uninitialized in this function [-Wmaybe-uninitialized]
             if(p[a]<=left) po.push_back(lw+w[a]);
                                           ^

Code

#include <iostream>     // for(int i=0;i<n;i++){}
#include <stdio.h>
#include <ctype.h>
#include <iomanip>      // setprecision cout<<fixed<<setprecision(10)<<ans;
#include <cmath>
#include <string>
#include <vector>
#include <stack>
#include <locale>
#include <sstream>
#include <algorithm>
#include <queue>
#include <string.h>

using namespace std;

int main()
{
    int n,x,lw,clw;
    cin >> n >> x;
    vector<long long>p(n); vector<long long>w(n);
    for(int a=0;a<n;a++){
        cin >> p[a] >> w[a] ;
    }
    for(int a=0;a<n;a++){
        if(p[a]<x){
        if(a==0){ lw=w[a]; clw=a;}
        else{
            if(w[a]>lw) lw=w[a]; clw=a;
        }
        }
    }
    if((x/2-p[clw])>=0) cout << 2*lw << endl;
    else{
        vector<long long>po;
        int left=x-p[clw];
        for(int a=0;a<n;a++){
            if(p[a]<=left) po.push_back(lw+w[a]);
        }
        for(int a=0;a<po.size();a++){
            if(a==0) lw=po[a];
            else{
            if(po[a]>lw) lw=po[a];
            }
        }
        cout << lw << endl;
    }
}

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:

input
100 739
395 712
476 916
102 614
312 533
...

correct output
1928

user output
1960

Test 7

Verdict:

input
100 781
342 898
466 888
713 516
133 389
...

correct output
1894

user output
1928

Test 8

Verdict: ACCEPTED

input
100 297
423 506
135 31
279 441
362 969
...

correct output
1906

user output
1906

Test 9

Verdict:

input
100 875
917 956
243 815
365 575
42 846
...

correct output
1960

user output
-667234976

Test 10

Verdict:

input
100 651
963 307
169 423
172 150
779 998
...

correct output
1970

user output
1794