Submission #717372

# Submission time Handle Problem Language Result Execution time Memory
717372 2023-04-01T21:52:07 Z MrM7md Table Tennis (info1cup20_tabletennis) C++17
58 / 100
3000 ms 343968 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];
   unordered_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;
      for(int i=0;i<=k;i++){
         for(int j=0;j<=k-i;j++){
            v.pb(a[i]+a[sz-j-1]);
            // cout<<v.back()<<' ';
         }
      }
      // cout<<v.size()<<endl;
      int h[v.size()]={0};

      for(int i=0;i<sz;i++){
         for(int j=0;j<v.size();j++){
            if(a[i]!=v[j]-a[i]){
               if(!mp[v[j]-a[i]]){
                  if(h[j]<k&&h[j]>=0)h[j]++;
                  else h[j]=-1;
               }
            }
            else{
               if(h[j]<k&&h[j]>=0)h[j]++;
               else h[j]=-1;
            }
         }
      }
      int ans;
      for(int i=0;i<v.size();i++){
         if(h[i]>-1)ans=v[i];
         // cout<<pp[i].F<<' '<<pp[i].S;

      }

      for(int i=0;i<sz;i++){
         if(mp[ans-a[i]])cout<<a[i]<<' ';
      }
   }
}
/*

*/

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:77:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   77 |          for(int j=0;j<v.size();j++){
      |                      ~^~~~~~~~~
tabletennis.cpp:91:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   91 |       for(int i=0;i<v.size();i++){
      |                   ~^~~~~~~~~
tabletennis.cpp:98:19: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   98 |          if(mp[ans-a[i]])cout<<a[i]<<' ';
      |                ~~~^~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 596 KB Output is correct
2 Correct 1 ms 596 KB Output is correct
3 Correct 1 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 1472 KB Output is correct
2 Correct 178 ms 22608 KB Output is correct
3 Correct 190 ms 22656 KB Output is correct
4 Correct 198 ms 22588 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 381 ms 40708 KB Output is correct
2 Correct 429 ms 42404 KB Output is correct
3 Correct 397 ms 40596 KB Output is correct
4 Correct 461 ms 42308 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 192 ms 24504 KB Output is correct
2 Correct 84 ms 19712 KB Output is correct
3 Correct 168 ms 22588 KB Output is correct
4 Correct 296 ms 39732 KB Output is correct
5 Correct 168 ms 22712 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 596 KB Output is correct
2 Correct 51 ms 9764 KB Output is correct
3 Correct 145 ms 20404 KB Output is correct
4 Correct 118 ms 19648 KB Output is correct
5 Correct 11 ms 2632 KB Output is correct
6 Incorrect 7 ms 1424 KB Extra information in the output file
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 564 KB Output is correct
2 Execution timed out 3071 ms 343968 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3041 ms 330108 KB Time limit exceeded
2 Halted 0 ms 0 KB -