CSES - Putka Open 2020 – 2/5 - Results
Submission details
Task:Kortit
Sender:AtskaFin
Submission time:2020-09-25 18:25:06 +0300
Language:C++11
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.01 s1, 2details
#20.01 s2details

Code

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

using namespace std;

int n, half;
vector<int> v;

void f() {
  cin >> n;
  half = n / 2;
  v.clear();
  v.resize(half);
  for (int i = half-1; i > -1; i--) cin >> v[i];

  sort(v.rbegin(), v.rend());

  int points = 0;
  int cardsLeft = half;
  int i = 0;

  while (true) {
    if (n == v[i]) {
      cardsLeft--;
      points++;
      i++;
      n--;
    } else {
      cardsLeft -= abs(n - v[i]);
      n -= abs(n - v[i]);
    }

    if (cardsLeft <= 0) break;
  }

  cout << points << "\n";
}

int t;

int main() {
  cin >> t;
  for (int i = 0; i < t; i++) f();
}

Test details

Test 1

Group: 1, 2

Verdict:

input
1000
2
1
6
2 4 5
...

correct output
0
2
0
2
1
...

user output
0
2
0
2
1
...

Test 2

Group: 2

Verdict:

input
1000
70
56 23 58 70 2 57 27 61 47 3 42...

correct output
30
15
1
38
29
...

user output
21
9
1
24
17
...