Submission #1207128

#TimeUsernameProblemLanguageResultExecution timeMemory
1207128lopkusTable Tennis (info1cup20_tabletennis)C++20
0 / 100
3094 ms15620 KiB
#include <bits/stdc++.h> using namespace std; void solve() { srand(time(0)); int n, k; std::cin >> n >> k; std::vector<int> a(n + k + 1); for(int i = 1; i <= n + k; i++) { std::cin >> a[i]; } std::function<int()> random = [&] () { return (rand() % n) + 1; }; std::function<void(int)> Do = [&] (int s) { std::map<int, int> pos; for(int i = 1; i <= n + k; i++) { pos[a[i]] = i; } std::vector<int> ans; std::vector<int> was(n + k + 1); for(int i = 1; i <= n + k && ans.size() < n; i++) { if(was[i]) { continue; } if(pos[s - a[i]] > i) { was[pos[s - a[i]]] = 1; ans.push_back(a[i]); ans.push_back(s - a[i]); } } if(ans.size() == n) { std::sort(ans.begin(), ans.end()); for(int i = 0; i < n; i++) { std::cout << ans[i] << " "[i == n - 1]; } exit(0); } }; while(true) { int get = random(); for(int i = 1; i <= n; i++) { if(i == get) { continue; } Do(a[get] + a[i]); } } } signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int t = 1; //std::cin >> t; while (t--) { solve(); } 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...