#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define bpc __builtin_popcount
int main() {
ll n,k; cin>>n>>k;
map<ll,ll>mp;
ll a[n+k]; for(ll i=0;i<n+k;i++){ cin>>a[i]; mp[a[i]]++;}
if(k==1){
sort(a,a+n+k);
ll sumbk=a[0]+a[n+k-1],sumb=a[1]+a[n+k-1], sumk=a[0]+a[n+k-2];
ll sum=0;
ll nk=n+k;
bool b=0,ki=0,bk=0;
for(ll i=0;i<n+k;i++){
if(a[i]!=a[0] and a[i]!=a[nk-1] and mp[sumbk-a[i]]){ bk=1; break;}
if(i!=0 and mp[sumk-a[i]]){ ki=1; break;}
if(i!=nk-1 and mp[sumb-a[i]]){ b=1; break;}
}
if(bk) sum=sumbk; if(ki) sum=sumk; if(b) sum=sumb;
set<ll>s;
for(ll i=0;i<nk;i++){
if(mp[sum-a[i]]) s.insert(a[i]);
}
for(ll i:s) cout<<i<<' ';
}
ll nk=n+k;
if(k==2){
sort(a,a+n+k);
ll sumbk=a[0]+a[n+k-1],sumb=a[1]+a[n+k-1], sumk=a[0]+a[n+k-2],sumkb2=a[0]+a[nk-2],sumk2b=a[1]+a[nk-1],sumk2b2=a[1]+a[nk-2];
ll sumk3b=a[2]+a[nk-1],sumkb3=a[0]+a[nk-3];
ll sum=0;
ll nk=n+k;
bool b=0,ki=0,bk=0,kb2=0,k2b=0,k2b2=0,k3b=0,kb3=0;
for(ll i=0;i<n+k;i++){
if(a[i]!=a[0] and a[i]!=a[nk-1] and mp[sumbk-a[i]]){ bk=1; break;}
if(i!=0 and mp[sumk-a[i]]){ ki=1; break;}
if(i!=nk-1 and mp[sumb-a[i]]){ b=1; break;}
if(i!=0 and i!=nk-2 and mp[sumkb2-a[i]]){ kb2=1; break;}
if(i!=1 and i!=nk-1 and mp[sumk2b-a[i]]){ k2b=1; break;}
if(i!=1 and i!=nk-2 and mp[sumk2b2-a[i]]){ k2b2=1; break;}
if(i!=2 and i!=nk-1 and mp[sumk3b-a[i]]){ k3b=1; break;}
if(i!=0 and i!=nk-3 and mp[sumkb3-a[i]]){ kb3=1; break;}
}
if(bk) sum=sumbk; if(ki) sum=sumk; if(b) sum=sumb; if(kb2) sum=sumkb2; if(k2b) sum=sumk2b; if(k2b2) sum=sumk2b2;
if(k3b) sum=sumk3b; if(kb3) sum=sumkb3;
set<ll>s;
for(ll i=0;i<nk;i++){
if(mp[sum-a[i]]) s.insert(a[i]);
}
if(s.size()>n){
for(ll i=0;i<(s.size()-n)/2;i++){
auto l=s.begin();
ll l1=*l;
s.erase(l1); ;
}
}
ll say=0;
for(ll i:s){
say++;
cout<<i<<' ';
if(say==n) break;
}
}
}
| # | 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... |