Submission #717920

#TimeUsernameProblemLanguageResultExecution timeMemory
717920vjudge1Table Tennis (info1cup20_tabletennis)C++17
9 / 100
79 ms12648 KiB
#include "bits/stdc++.h" #define ll long long using namespace std; const ll mod = 1000000007; int b[150001]; signed main () { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // freopen("cowland.in","r",stdin); // freopen("cowland.out","w",stdout); int n, k; cin >> n >> k; vector<int> v; for(int i = 0; i < n + k; i++) { int x; cin >> x; v.push_back(x); } sort(v.begin(), v.end()); set<int> s; for(int i = 0; i <= k; i++) { int j = n + k - 1; while(i < j && i + ((n + k) - j - 1) <= k) s.insert(v[i] + v[j--]); } for(int x : s) { int y = 0, r = 0; for(int l = 0; l < n + k; l++) { if(b[l]) continue; while(r < n + k && l >= r) r++; if(v[l] + v[r] < x) { while(r < n + k && v[l] + v[r] < x) r++; } else if(v[l] + v[r] > x) { while(l < r && v[l] + v[r] > x) r--; } if(l < r && r < n + k) { b[l] = b[r] = 1; y += 2; if(y == n) break; } } if(y == n) { set<int> ans; for(int i = 0; i < n + k; i++) { if(b[i]) ans.insert(v[i]); } for(int i : ans) cout << i << " "; return 0; } for(int i = 0; i < n + k; i++) b[i] = 0; } 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...