Submission #1268326

#TimeUsernameProblemLanguageResultExecution timeMemory
1268326AishaTable Tennis (info1cup20_tabletennis)C++20
72 / 100
3092 ms23212 KiB
#include "bits/stdc++.h" using namespace std; #define int long long signed main() { ios::sync_with_stdio(false); cin.tie(0); unsigned seed = std::chrono::high_resolution_clock::now().time_since_epoch().count(); std::mt19937 rng(seed); int n, k; cin >> n >> k; vector <int> a(n + k); for (int i = 0; i < n + k; i ++) cin >> a[i]; auto check = [&] (int sum) -> int { map <int, int> mp; vector <int> v; for (int i = n + k - 1; i >= 0; i --) { if (mp[sum - a[i]]) { v.push_back(a[i]); } mp[a[i]] ++; if (v.size() == n / 2) break; } if (v.size() == n / 2) { for (int i = n / 2 - 1; i >= 0; i --) v.push_back(sum - v[i]); sort(v.begin(), v.end()); for (int i : v) cout << i << ' '; cout << endl; return 1; } return 0; }; int i = rng() % (k + 1); int j = n + k - rng() % (k + 1) - 1; int sum = a[i] + a[j]; map <int, int> mp; while (!check(sum)) { i = rng() % (k + 1); j = n + k - rng() % (k + 1) - 1; sum = a[i] + a[j]; while (mp[sum]) { i = rng() % (k + 1); j = n + k - rng() % (k + 1) - 1; sum = a[i] + a[j]; } mp[sum] = 1; } 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...