Code Submission Evaluation System Login

Datatähti 2017 loppu

Start:2017-01-19 12:15:00
End:2017-01-19 17:15:00
 

Tasks | Messages | Scoreboard | Statistics


CSES - Datatähti 2017 loppu - Results
History
2017-01-19 12:29:46100
Task:Jäätelö
Sender:fergusq
Submission time:2017-01-19 12:29:46
Language:C++
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED100

Test results

testverdicttime (s)
#1ACCEPTED0.04 / 1.00details
#2ACCEPTED0.06 / 1.00details
#3ACCEPTED0.05 / 1.00details
#4ACCEPTED0.03 / 1.00details
#5ACCEPTED0.04 / 1.00details
#6ACCEPTED0.04 / 1.00details
#7ACCEPTED0.04 / 1.00details
#8ACCEPTED0.02 / 1.00details
#9ACCEPTED0.04 / 1.00details
#10ACCEPTED0.04 / 1.00details

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

view   save

correct output
726

view   save

user output
726

view   save

Test 2

Verdict: ACCEPTED

input
2 902
968 550
152 228

view   save

correct output
456

view   save

user output
456

view   save

Test 3

Verdict: ACCEPTED

input
5 295
35 81
653 771
747 823
871 611
...
view   save

correct output
162

view   save

user output
162

view   save

Test 4

Verdict: ACCEPTED

input
10 272
38 13
114 420
42 344
942 307
...
view   save

correct output
840

view   save

user output
840

view   save

Test 5

Verdict: ACCEPTED

input
50 468
867 254
870 736
28 739
60 609
...
view   save

correct output
2000

view   save

user output
2000

view   save

Test 6

Verdict: ACCEPTED

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

correct output
1928

view   save

user output
1928

view   save

Test 7

Verdict: ACCEPTED

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

correct output
1894

view   save

user output
1894

view   save

Test 8

Verdict: ACCEPTED

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

correct output
1906

view   save

user output
1906

view   save

Test 9

Verdict: ACCEPTED

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

correct output
1960

view   save

user output
1960

view   save

Test 10

Verdict: ACCEPTED

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

correct output
1970

view   save

user output
1970

view   save