This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n , k;
    cin >> n >> k ;
    ll teams=n/2;
    vector<ll>v;
    ll x;
    n+=k;
    map<ll,ll>mp , occ;
    
    for(int i = 0 ; i < n ; i++)
    {
        cin >>  x;
        mp[x]++;
        v.push_back(x);
    }
    sort(v.begin(), v.end());
    vector<ll>poten;
    set<ll>ss;
    for(int i = 0 ; i< 2*k ; i++)
    {
        for( int j = n-1; j >= n-(2*k) ; j-- )
        {
           ss.insert(v[i]+v[j]);
            occ[v[i]+v[j]]++;
            poten.push_back(v[i]+v[j]);
        }
    }
    if(n-k>4*k)
    {
        poten.clear();
        for(ll u : ss)
        {
            if(occ[u]>=k)
                {
                    poten.push_back(u);
                }
        }
    }
    vector<ll>ansa;
    ll sz=poten.size() , cnt;
    for( int i = 0 ; i  < sz ; i++)
    {
        ansa.clear();
        ll tmp=teams;
        cnt=0;
        for(int j = 0 ; v[j]<(poten[i]/2) ; j++ )
        {
            if(poten[i]-v[j]==v[j])continue;
            if(mp[poten[i]-v[j]])
            {
                tmp--;
                ansa.push_back(poten[i]-v[j]);
                ansa.push_back(v[j]);
            }
            else cnt++;
            if(tmp==0)
                break;
            if(cnt==k+1)
                break;
        }
        if(tmp==0)
        {
            break;
        }
    }
    sort( ansa.begin() , ansa.end());
    for(int i = 0 ; i < teams*2 ; i++)
    {
        cout << ansa[i] <<  " " ;
    }
    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... |