General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
116187499 Practice:
alexrider
1515D - 28 C++17 (GCC 9-64) Wrong answer on test 3 15 ms 4204 KB 2021-05-14 17:12:03 2021-05-14 17:12:03
→ Source
#include<bits/stdc++.h>

using namespace std;
#define ll long long
void solve(){
	int n,ln,rn;cin>>n>>ln>>rn;
	vector<int>l(n+1,0),r(n+1,0);
	for(int i=1;i<=ln;i++){
		int tmp;cin>>tmp;l[tmp]++;
	}
	for(int i=1;i<=rn;i++){
		int tmp;cin>>tmp;r[tmp]++;
	}
	
	
	for(int i=1;i<=n;i++){
		if(l[i]>=1 && r[i]>=1) {
			if(l[i]>=r[i]) {l[i]-=r[i];ln-=r[i];rn-=r[i];r[i]=0;}
			else {r[i]-=l[i];rn-=l[i];ln-=l[i];l[i]=0; }
		}
	}
	if(ln==rn) {
		cout<<ln<<'\n';return;
	}
	int cost=0;
	for(int i=1;i<=n;i++){
		if(l[i]>=1) {cost+=l[i]/2;ln+=(l[i]%2-l[i]);}
		if(r[i]>=1) {cost+=r[i]/2;rn+=(r[i]%2-r[i]);}
		
	}
	if(ln>=rn){
		cost+=(ln-rn);
		ln-=(ln-rn);
		cost+=ln;
	}else if(rn>ln){
		cost+=(rn-ln);
		rn-=(rn-ln);cost+=rn;
	}

	cout<<cost<<'\n';
}
int main(){
	int t;cin>>t;
	while(t--) solve();
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details