CSES - Datatähti 2017 loppu - Results
Submission details
Task:Jäätelö
Sender:fergusq
Submission time:2017-01-19 12:29:46 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.03 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.02 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:28:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   forrange(i, 0, v2.size()) {
                          ^
input/code.cpp:6:47: note: in definition of macro 'forrange'
 #define forrange(i, a, b) for (int i = a; i < b; i++)
                                               ^

Code

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>

#define forrange(i, a, b) for (int i = a; i < b; i++)

using namespace std;

bool gt (pair<int,int> i, pair<int,int> j) { return (i>j); }

int main() {
  int n, x;
  vector<pair<int, int> > v;
  cin >> n >> x;
  forrange(i, 0, n) {
    int h, p;
    cin >> h >> p;
    v.push_back(make_pair(p, h));
  }
  vector<pair<int, int> > v2;
  forrange(i, 0, n) {
    forrange(j, i, n) {
      v2.push_back(make_pair(v[i].first+v[j].first, v[i].second+v[j].second));
    }
  }
  sort(v2.begin(), v2.end(), gt);
  forrange(i, 0, v2.size()) {
    if (v2[i].second <= x) {
      cout << v2[i].first << "\n";
      return 0;
    }
  }
  cout << "0\n";
}

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