#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
void speed()
{
    ios_base :: sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
}
int n,k,a[2000005];
vector<int>otg;
//map<int,bool>v;
vector<bool>v(1000000005);
void print(int sum)
{
    for(int i=1;i<=n+k;i++)
    {
        if(a[i]<sum&&v[sum-a[i]])
        {
            otg.push_back(a[i]);
            otg.push_back(sum-a[i]);
            if(otg.size()==n)
            {
                sort(otg.begin(),otg.end());
                for(int j=0;j<otg.size();j++)
                {
                    cout<<otg[j]<<" ";
                }
                cout<<endl;
                exit(0);
            }
        }
    }
}
void resh(int beg,int to)
{
    int sum=a[beg]+a[to],brf=0,brt=0;
    for(int j=beg+1;j<=beg+k*2;j++)
    {
        if(a[j]<sum&&v[sum-a[j]])brt++;
        else brf++;
        //cout<<beg<<" "<<to<<" "<<brf<<" "<<brt<<" "<<j<<endl;
        if(brf>k)return;
        if(brt>min(n-2,2*k-1))
        {
            print(sum);
        }
    }
}
void read()
{
    cin>>n>>k;
    for(int i=1;i<=n+k;i++)
    {
        cin>>a[i];
        v[a[i]]=1;
    }
    for(int i=1;i<=k+1;i++)
    {
        for(int j=n+k;j>=n;j--)
        {
            resh(i,j);
        }
    }
}
int main ()
{
    speed();
    read();
	return 0;
}
| # | 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... |