Submission #377642

#TimeUsernameProblemLanguageResultExecution timeMemory
377642wildturtleTable Tennis (info1cup20_tabletennis)C++14
87 / 100
3050 ms52836 KiB
#include<bits/stdc++.h> using namespace std; long long a,b,c,d,i,e,f,g,n,m,k,l,cnt,A[500005]; map <long long,long long> mp,mp1; vector <long long> v; set <long long> st; set <long long>::iterator it; long long check(long long sum) { for(long long i=1;i<=n;i++) mp1[A[i]]++; cnt=0; v.clear(); for(long long i=1;i<=n;i++) { if(mp1[A[i]]==0) continue; mp1[A[i]]--; if(mp1[sum-A[i]]>=1) { cnt++; mp1[sum-A[i]]=0; v.push_back(A[i]); v.push_back(sum-A[i]); if(cnt==(n-k)/2) break; } } mp1.clear(); if(cnt>=(n-k)/2) return 1; else return 0; } int main() { cin>>n>>k; n+=k; for(long long i=1;i<=n;i++) { cin>>A[i]; } sort(A+1,A+1+n); if(n>=4*k) { for(long long i=1;i<=2*k;i++) { for(long long j=n-2*k+1;j<=n;j++) { mp[A[i]+A[j]]++; } } for(long long i=1;i<=2*k;i++) { for(long long j=n-2*k+1;j<=n;j++) { if(mp[A[i]+A[j]]>=k) st.insert(A[i]+A[j]); } } for(it=st.begin();it!=st.end();it++) { if(check(*it)) break; } sort(v.begin(),v.end()); for(long long i=0;i<v.size();i++) cout<<v[i]<<" "; } else { for(long long i=1;i<=k;i++) { for(long long j=n-k+i-1;j<=n;j++) { st.insert(A[i]+A[j]); } } for(it=st.begin();it!=st.end();it++) { if(check(*it)) break; } sort(v.begin(),v.end()); for(long long i=0;i<v.size();i++) cout<<v[i]<<" "; } }

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:47:28: 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]
   47 |         for(long long i=0;i<v.size();i++)
      |                           ~^~~~~~~~~
tabletennis.cpp:60:28: 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]
   60 |         for(long long i=0;i<v.size();i++)
      |                           ~^~~~~~~~~
#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...