CSES - Putka Open 2020 – 2/5 - Results
Submission details
Task:Kortit
Sender:Laakeri
Submission time:2020-09-26 10:27:43 +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>
using namespace std;

void solve() {
	int n;
	cin>>n;
	set<int> my;
	set<int> has;
	for (int i=0;i<n/2;i++){
		int x;
		cin>>x;
		my.insert(x);
		has.insert(x);
	}
	int p=0;
	for (int i=n;i>=1;i--){
		if (my.count(i)) continue;
		int x = *has.rbegin();
		int y = *has.begin();
		if (x>i){
			p++;
			has.erase(x);
		} else {
			has.erase(y);
		}
	}
	cout<<p<<endl;
}

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int tcs;
	cin>>tcs;
	for (int tc=1;tc<=tcs;tc++){
		solve();
	}
}

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
...