Submission #927009

#TimeUsernameProblemLanguageResultExecution timeMemory
927009blacktulipTable Tennis (info1cup20_tabletennis)C++17
9 / 100
3074 ms3136 KiB
#include <bits/stdc++.h>

using namespace std;

#define ort ((bas+son)/2)
#define int long long
#define endl "\n"

int n,k,a[200005],ind;
bool vis[200005];

inline bool check(int l,int r,int sum){
	int say=0;
	while(l<r){
		//~ if(vis[l]){l++;continue;}
		//~ if(vis[r]){r--;continue;}
		if(a[l]+a[r]==sum){
			l++;
			r--;
			say++;
		}
		else if(a[l]+a[r]<sum){
			ind=l;
			vis[l]=1;
			l++;
		}
		else{
			ind=r;
			vis[r]=1;
			r--;
		}
	}
	if(l==r){ind=l;vis[l]=1;}
	if(say>=n/2)return 1;
	return 0;
}

int32_t main(void){
	ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
	cin>>n>>k;
	for(int i=1;i<=n+k;i++)cin>>a[i];
	for(int i=1;i<=k+1;i++){
		for(int j=n;j>=n-k;j--){
			if(i>=j)break;
			memset(vis,0,sizeof(vis));
			if(check(1,n+k,a[i]+a[j])){
				for(int ii=1;ii<=n+k;ii++){
					if(vis[ii])continue;
					cout<<a[ii]<<" ";
				}
				return 0;
			}
		}
	}
	
	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...