Submission #717883

#TimeUsernameProblemLanguageResultExecution timeMemory
717883vjudge1Table Tennis (info1cup20_tabletennis)C++17
0 / 100
401 ms43680 KiB
#include "bits/stdc++.h" #define ll long long using namespace std; const ll mod = 1000000007; int b[150001], cnt[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<pair<int, int>> v; set<int> ss; for(int i = 0; i < n + k; i++) { int x; cin >> x; ss.insert(x); v.push_back({x, i + 1}); } map<int, int> c; int o = 1; for(int i : ss) c[i] = o++; for(int i = 0; i < n + k; i++) { cnt[c[v[i].first]]++; } 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].first + v[j--].first); } map<int, int> mp; for(int x : s) { int y = 0; for(int i = 0; i < n + k; i++) { if(cnt[c[v[i].first]] - b[c[v[i].first]] && x - v[i].first >= 0 && cnt[c[x - v[i].first]] - b[c[x - v[i].first]]) { b[c[v[i].first]]++, b[c[x - v[i].first]]++; y += 2; if(y == n) break; } } if(y >= n) { set<int> ans; for(int i = 0; i < n + k; i++) { if(b[c[v[i].first]]) { b[c[v[i].first]]--; ans.insert(v[i].second); } } for(int i : ans) cout << i << " "; return 0; } for(int i = 0; i < n + k; i++) mp[v[i].first] = 0, b[c[v[i].first]] = 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...