Submission #717357

# Submission time Handle Problem Language Result Execution time Memory
717357 2023-04-01T21:36:15 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
58 / 100
3000 ms 758824 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 {
      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 2 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 1876 KB Output is correct
2 Correct 126 ms 31036 KB Output is correct
3 Correct 133 ms 31036 KB Output is correct
4 Correct 133 ms 31144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 235 ms 53580 KB Output is correct
2 Correct 252 ms 59184 KB Output is correct
3 Correct 204 ms 55128 KB Output is correct
4 Correct 231 ms 59148 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 276 ms 37632 KB Output is correct
2 Correct 166 ms 25672 KB Output is correct
3 Correct 220 ms 33620 KB Output is correct
4 Correct 202 ms 47320 KB Output is correct
5 Correct 203 ms 33532 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 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 2 ms 596 KB Output is correct
2 Correct 74 ms 13664 KB Output is correct
3 Correct 148 ms 29340 KB Output is correct
4 Correct 112 ms 26164 KB Output is correct
5 Correct 47 ms 3148 KB Output is correct
6 Incorrect 23 ms 1536 KB Extra information in the output file
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 596 KB Output is correct
2 Execution timed out 3109 ms 758824 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3071 ms 236324 KB Time limit exceeded
2 Halted 0 ms 0 KB -