Submission #717333

#TimeUsernameProblemLanguageResultExecution timeMemory
717333vjudge1Table Tennis (info1cup20_tabletennis)C++17
20 / 100
324 ms77732 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define F first
#define S second
#define pb push_back
#define all(a) a.begin(),a.end()
const int N=1e5;
const int off=(1<<20);
const int MOD = 1e9+7;


signed main(){
   ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
   int n,k;
   cin >> n >> k;
   int sz=n+k;
   int a[sz];
   map<int,int>mp;
   for(int i=0;i<sz;i++){
      cin >>a[i];
      mp[a[i]]++;
   }
   sort(a,a+sz);
   if(k==1){
      int f=a[sz/2]+a[sz/2-1],s=a[sz/2]+a[sz/2+1],t=a[0]+a[sz-1];
      int x=0,y=0,z=0;
      // cout<<f<<' '<<s << ' '<<t<<endl;
      for(int i=0;i<sz;i++){
         if(a[i]!=f-a[i]){
            if(!mp[f-a[i]]){
               if(x)x=-1;
               else x=a[i];
            }
         }
         else{
            x=a[i];
         }
         if(a[i]!=s-a[i]){
            if(!mp[s-a[i]]){
               if(y)z=-1;
               else y=a[i];
            }
         }
         else{
            y=a[i];
         }
         if(a[i]!=t-a[i]){
            if(!mp[t-a[i]]){
               if(z)z=-1;
               else z=a[i];
            }
         }
         else{
            z=a[i];
         }
      }
      int ans=max({z,x,y});
      for(int i=0;i<sz;i++){
         if(a[i]!=ans)cout<<a[i]<<' ';
      }
   }
   else{
      vector<int>v;
      v.pb(a[sz/2]+a[sz/2+1]);
      v.pb(a[sz/2]+a[sz/2+2]);
      v.pb(a[sz/2-1]+a[sz/2+1]);
      v.pb(a[sz/2-1]+a[sz/2+2]);
      v.pb(a[sz/2-1]+a[sz/2]);
      v.pb(a[sz/2+1]+a[sz/2+2]);
      v.pb(a[0]+a[sz-1]);
      if(sz>4){
         v.pb(a[sz/2]+a[sz/2+3]);
         v.pb(a[sz/2-2]+a[sz/2+1]);
      }
      int h[9]={0};
      pair<int,int>pp[9];
      for(int i=0;i<9;i++)pp[i]={0,0};
      for(int i=0;i<sz;i++){
         for(int j=0;j<9;j++){
            if(a[i]!=v[j]-a[i]){
               if(!mp[v[j]-a[i]]){
                  if(pp[j].F==0)pp[j].F=a[i];
                  else if(pp[j].S==0)pp[j].S=a[i];
                  else pp[j]={-1,-1};
               }
            }
            else{
               if(pp[j].F==0)pp[j].F=a[i];
               else if(pp[j].S==0)pp[j].S=a[i];
               else pp[j]={-1,-1};
            }
         }
      }
      pair<int,int>p;
      for(int i=0;i<9;i++){
         if(pp[i].F!=-1)p=pp[i];
      }
      for(int i=0;i<sz;i++){
         if(p.F!=a[i]&&p.S!=a[i])cout<<a[i]<<' ';
      }
   }
}
/*

*/

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:77:11: warning: unused variable 'h' [-Wunused-variable]
   77 |       int h[9]={0};
      |           ^
#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...