Submission #717893

#TimeUsernameProblemLanguageResultExecution timeMemory
717893vjudge1Table Tennis (info1cup20_tabletennis)C++17
72 / 100
3061 ms17416 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; for(int i = 0; i < n + k && y < n; i++) { int o = lower_bound(v.begin(), v.end(), x - v[i]) - v.begin(); if(o < i && o < n + k && v[i] + v[o] == x && b[o] == 1) { b[i] = b[o] = 2; y += 2; } else b[i] = 1; } if(y >= n) { set<int> ans; for(int i = 0; i < n + k; i++) { if(b[i] == 2) 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...