Submission #1319486

#TimeUsernameProblemLanguageResultExecution timeMemory
1319486husuuuTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3090 ms10868 KiB
//g++ -o sol sol.cpp
//cd C:\Users\Asus-1\OneDrive\Desktop
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ld long double
const int INF=1e9+5;
#define S(a) a.begin(),a.end()
#define pb push_back
#define READ(l , r , a) for(int i = l;i <= r;i++) cin >> a[i]
#define printV(l , r , a) for(int i = l;i <= r;i++) cout << a[i] << ' ';
#define pii pair < int , int >
#define FOR(i , l , r) for(int i = l;i <= r;i++)
int n,k;
int a[150500];
bool ok(int vl){
	int l=0,r=n+k-1,cnt=0;
	while(l<r){
		if(a[l]+a[r]==vl){
			++cnt;
			++l;
			--r;
		}
		else if(a[l]+a[r]>vl){
			--r;
		}
		else{
			++l;
		}
	}
	return (cnt>=n/2);
}
vector<int>get_res(int vl){
	vector<int>res;
	int l=0,r=n+k-1;
	while(l<r and res.size()<n){
		if(a[l]+a[r]==vl){
			res.push_back(a[l]);
			res.push_back(a[r]);
			++l;
			--r;
			continue;
		}
		else if(a[l]+a[r]>vl){
			--r;
		}
		else{
			++l;
		}
	}
	sort(S(res));
	return res;
}
void solve(){
	cin>>n>>k;
	for(int i=0;i<n+k;i++) cin>>a[i];
	sort(a,a+n+k);
	set<int>all;
	for(int i=0;i<=k;i++) for(int j=n-1;j<n+k;j++) all.insert(a[i]+a[j]);
	vector<int>pos;
	for(auto x : all) pos.pb(x);
	for(int vl : pos){
		if(ok(vl)){
			vector<int>res=get_res(vl);
			for(int i=0;i<n;i++) cout<<res[i]<<' ';
			cout<<endl;
			return;
		}
	}
}
signed main(){
        ios_base::sync_with_stdio();
        cin.tie(0);
	cout.tie(0);
	int T=1;//cin>>T;
	while(T--) solve();	
}
#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...