Submission #1317472

#TimeUsernameProblemLanguageResultExecution timeMemory
1317472Muhammad_AneeqTable Tennis (info1cup20_tabletennis)C++20
100 / 100
2728 ms199632 KiB
#include <bits/stdc++.h>
using namespace std;
inline void solve()
{
	int n,k;
	cin>>n>>k;
	int a[n+k];
	map<int,int>pre;
	for (auto& i:a)
	{
		cin>>i;
		pre[i]=1;
	}
	unordered_map<int,int>cnt;
	for (int i=0;i<n+k;i++)
	{
		int l=n+k,r=0;
		for (int j=0;j<=min(i,k);j++)
		{
			int ind=i+1-j;
			if (ind>n/2) continue;
			int ex=(n-ind+1)-ind;
			l=min(l,i+ex);
			r=max(r,i+ex+k-j);
		}
		r=min(r,n+k-1);
		for (int j=l;j<=r;j++)
			cnt[a[i]+a[j]]++;
	}
	for (auto [i,j]:cnt)
	{
		if (j>=n/2)
		{
			vector<int>ans;
			for (int l=0;l<n+k&&ans.size()<n;l++)
			{
				if (pre.find(i-a[l])==pre.end()) continue;
				ans.push_back(i-a[l]);
				ans.push_back(a[l]);
			}
			sort(begin(ans),end(ans));
			for (auto i:ans)
				cout<<i<<' ';
			cout<<endl;
			return;
		}
	}
}
int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int t=1;
    for (int i=1;i<=t;i++)
    {
        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...