Submission #717346

# Submission time Handle Problem Language Result Execution time Memory
717346 2023-04-01T21:16:09 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
34 / 100
228 ms 59828 KB
#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 if(k==2){
      vector<int>v;
      v.pb(a[0]+a[sz-1]);
      v.pb(a[0]+a[sz-2]);
      v.pb(a[0]+a[sz-3]);
      v.pb(a[1]+a[sz-1]);
      v.pb(a[1]+a[sz-2]);
      v.pb(a[2]+a[sz-1]);


      int h[6]={0};
      pair<int,int>pp[6];
      for(int i=0;i<6;i++)pp[i]={0,0};

      for(int i=0;i<sz;i++){
         for(int j=0;j<6;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<6;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

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:75:11: warning: unused variable 'h' [-Wunused-variable]
   75 |       int h[6]={0};
      |           ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 724 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
3 Correct 2 ms 724 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1912 KB Output is correct
2 Correct 133 ms 31512 KB Output is correct
3 Correct 138 ms 31588 KB Output is correct
4 Correct 133 ms 31472 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 221 ms 53600 KB Output is correct
2 Correct 228 ms 59668 KB Output is correct
3 Correct 187 ms 56140 KB Output is correct
4 Correct 217 ms 59828 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 276 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -