Submission #1232136

#TimeUsernameProblemLanguageResultExecution timeMemory
1232136durdonaTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3094 ms3060 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> arr(n + k); for (int i = 0; i < n + k; i++) { cin >> arr[i]; } mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); while (true) { int i = uniform_int_distribution<int>(0, min(n + k - 1, k + 15))(rng); int j = uniform_int_distribution<int>(max(0, n - i - 10), n + k - 1)(rng); if (i + j >= n + k) continue; int s = arr[i] + arr[i + j]; int l = 0, r = n + k - 1, f = 0; while (l < r && f < n) { if (arr[l] + arr[r] < s) { l++; } else if (arr[l] + arr[r] > s) { r--; } else { f += 2; l++; r--; } } if (f == n) { vector<int> ja; l = 0, r = n + k - 1; while (l < r && ja.size() < n) { if (arr[l] + arr[r] < s) { l++; } else if (arr[l] + arr[r] > s) { r--; } else { ja.push_back(arr[l]); ja.push_back(arr[r]); l++; r--; } } sort(ja.begin(), ja.end()); for (int x : ja) cout << x << ' '; break; } } 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...