CSES - Putka Open 2020 – 2/5 - Results
Submission details
Task:Kortit
Sender:Mahtimursu
Submission time:2020-09-25 18:05:55 +0300
Language:C++11
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED23
#2ACCEPTED77
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.02 s2details

Code

#include <bits/stdc++.h>

typedef long long ll;

#define M 1000000007

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int t;
	cin >> t;
	for (int i = 0; i < t; ++i) {
		int n;
		cin >> n;
		set<int> op;
		set<int> me;

		for (int i = 1; i <= n; ++i) {
			op.insert(i);
		}

		for (int i = 0; i < n / 2; ++i) {
			int val;
			cin >> val;
			me.insert(val);
			op.erase(val);
		}

		int p = 0;
		for (int i = 0; i < n / 2; ++i) {
			auto it = op.end();
			it--;
			int opv = *it;
			op.erase(it);
			it = me.end();
			it--;
			int e = *it;
			if (e > opv) {
				me.erase(it);
				p++;
			}
			else {
				me.erase(me.begin());
			}
		}
		cout << p << endl;
	}

	return 0;
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

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: ACCEPTED

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

correct output
30
15
1
38
29
...

user output
30
15
1
38
29
...