제출 #775673

#제출 시각아이디문제언어결과실행 시간메모리
775673LeaRouseTable Tennis (info1cup20_tabletennis)C++14
9 / 100
3062 ms224684 KiB
#include <bits/stdc++.h>
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
#define ff first
#define ss second
#define ll long long
using namespace std;
const int MAX=2e5+5;
const ll INF=1e10;
int A[MAX];
int n,k;;
unordered_map<int,int>m;
vector<int>v;
bool res(int suma){
	int ans=0;
	for(int i=0;i<n+k;i++){
		if(!m[A[i]] or ans==n/2)	continue;
		if(A[i]>suma)	continue;
		if(m[suma-A[i]]){
			m[suma-A[i]]--;
			m[A[i]]--;
			ans++;
			v.push_back(A[i]);
			v.push_back(suma-A[i]);
		}	
	}
	if(ans==n/2)	return true;
	else 	return false;
}

void go(){
		cin>>n>>k;
	for(int i=0;i<(n+k);i++){
		cin>>A[i];
		m[A[i]]++;
	}
	sort(A,A+n);
	for(int i=0;i<=k;i++){
		for(int j=0;j<=k;j++){
			int suma=A[i]+A[n-1-j];
			if(res(suma)){
				sort(v.begin(),v.end());
				for(auto it:v)	cout<<it<<" ";
				break;
			}
			else	v.clear();
		}
	}

}
 
int main(){
	fastio;
	go();
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...