#include <bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
gp_hash_table<int, int>cnt;
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;
}
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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |