Submission #423643

#TimeUsernameProblemLanguageResultExecution timeMemory
423643jamezzzTable Tennis (info1cup20_tabletennis)C++17
87 / 100
3052 ms10100 KiB
#include <bits/stdc++.h> using namespace std; #define sf scanf #define pf printf #define pb emplace_back #define all(x) x.begin(),x.end() int n,k,v; vector<int> s,ans; unordered_set<int> in; int main(){ sf("%d%d",&n,&k); n+=k; for(int i=0;i<n;++i){ sf("%d",&v); s.push_back(v); in.insert(v); } sort(all(s)); int res=0,l,r; for(int i=0;i<=k;++i){ if(i!=0)in.erase(s[i-1]); for(int j=n-(k-i)-1;j<n;++j)in.erase(s[j]); for(int j=n-(k-i)-1;j<n;++j){ in.insert(s[j]); int t=s[i]+s[j],take=1; for(int l=i+1;l<j;++l){ if(s[l]>=t-s[l])break; if(!in.count(s[l]))continue; if(in.count(t-s[l])){ ++take; } if(take==(n-k)/2)break; } if(take==(n-k)/2){ res=t; l=i;r=j; break; } } if(res!=0)break; } in.clear(); for(int i=l+1;i<r;++i)in.insert(s[i]); ans.pb(s[l]);ans.pb(s[r]); for(int i=l+1;i<r;++i){ if(s[i]>=res-s[i])break; if(!in.count(s[i]))continue; if(in.count(res-s[i])){ ans.pb(s[i]); ans.pb(res-s[i]); } if(ans.size()==n-k)break; } sort(all(ans)); for(int x:ans)pf("%d ",x); pf("\n"); }

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:55:16: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   55 |   if(ans.size()==n-k)break;
      |      ~~~~~~~~~~^~~~~
tabletennis.cpp:14:4: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |  sf("%d%d",&n,&k);
      |    ^
tabletennis.cpp:17:5: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |   sf("%d",&v);
      |     ^
tabletennis.cpp:22:14: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
   22 |  int res=0,l,r;
      |              ^
tabletennis.cpp:47:12: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
   47 |  ans.pb(s[l]);ans.pb(s[r]);
      |            ^
#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...