Submission #776445

#TimeUsernameProblemLanguageResultExecution timeMemory
776445HD1Table Tennis (info1cup20_tabletennis)C++14
72 / 100
234 ms4300 KiB
//we are all lost trying to be someone. #include <bits/stdc++.h> #define fastio ios_base::sync_with_stdio(0); cin.tie(0); #define sz(x) ll(x.size()) #define reve(x) reverse(x.begin(),x.end()) #define ff first #define ss second using namespace std; typedef long long ll; typedef long double ld; typedef pair<ll,ll> ii; const ll MAX=3*(1e6+100); const ll mod=1e9+7; const ll inf=1e18+7; ll A[MAX], s[1610]; vector<ll >c; bool nice=false; ll n, k; void solve(ll sum){ ll j=n+k-1; for(ll i=0; i<n+k and A[i]<sum/2; i++){ while(j-1>=0 and A[j-1]>=sum-A[i]){ j--; } if( j>i and A[j]==sum-A[i]){ c.push_back(A[j]); c.push_back(A[i]); if(sz(c)>=n){ nice=true; return; } } } return; } int main(){ cin>>n>>k; for(ll i=0; i<n+k; i++){ cin>>A[i]; } sort(A,A+n+k); ll cont=0; for(ll i=0; i<k+1; i++){ for(ll j=n+k-1; j>=n-1; j--){ s[cont]=A[i]+A[j]; cont++; } } for(ll i=0; i<cont; i++){ solve(s[i]); if(nice)break; c.clear(); } sort(c.begin(),c.end()); for(ll i=0; i<sz(c); i++){ cout<<c[i]<<" "; } cout<<'\n'; }
#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...