제출 #1232133

#제출 시각아이디문제언어결과실행 시간메모리
1232133durdonaTable Tennis (info1cup20_tabletennis)C++20
0 / 100
3094 ms832 KiB
#include <iostream> #include <vector> #include <algorithm> #include <random> int main() { int n, k; std::cin >> n >> k; std::vector<int> arr(n + k); for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } std::random_device rd; std::mt19937 gen(rd()); while (true) { std::uniform_int_distribution<> dis1(0, std::min(n + k - 1, k + 15)); std::uniform_int_distribution<> dis2(0, n + k - 1); int i = dis1(gen); int j = dis2(gen); if (i + j >= n + k) continue; int s = arr[i] + arr[i + j]; int l = 0, r = n + k - 1; int 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) { int oks = s; std::vector<int> ja; l = 0; r = n + k - 1; while (l < r && ja.size() < n) { if (arr[l] + arr[r] < oks) { l++; } else if (arr[l] + arr[r] > oks) { r--; } else { ja.push_back(arr[l]); ja.push_back(arr[r]); l++; r--; } } std::sort(ja.begin(), ja.end()); for (const auto& val : ja) { std::cout << val << ' '; } 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...