Submission #314459

#TimeUsernameProblemLanguageResultExecution timeMemory
314459limabeansTable Tennis (info1cup20_tabletennis)C++17
100 / 100
92 ms5360 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; int n,k; int a[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>k; for (int i=0; i<n+k; i++) { cin>>a[i]; } for (int l=0; l<=k; l++) { for (int r=0; l+r<=k; r++) { int i=l; int j=n+k-1-r; vector<int> ans = {i,j}; int sum = a[i]+a[j]; i++; j--; int slack = k-l-r; while (i<=j && slack>=0) { if (i==j) { slack--; break; } if (a[i]+a[j]==sum) { ans.push_back(i); ans.push_back(j); i++; j--; } else if (a[i]+a[j]>sum) { slack--; j--; } else if (a[i]+a[j]<sum) { slack--; i++; } } if (slack >= 0) { //watch(sum); while (slack>0) { ans.pop_back(); ans.pop_back(); slack-=2; } vector<int> v; for (int idx: ans) { v.push_back(a[idx]); } sort(v.begin(),v.end()); for (int x: v) cout<<x<<" "; cout<<endl; exit(0); } } } assert(false); return 0; }
#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...