Submission #718293

#TimeUsernameProblemLanguageResultExecution timeMemory
718293haxormanTable Tennis (info1cup20_tabletennis)C++14
100 / 100
494 ms288060 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int mxN = 2e5 + 7; int arr[mxN]; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, k; cin >> n >> k; bitset<2000000001> in; for (int i = 0; i < n + k; ++i) { cin >> arr[i]; in[arr[i]] = true; } if (n <= 4 * k) { for (int i = 0; i < n + k; ++i) { cin >> arr[i]; in[arr[i]] = true; } assert(n >= 2); for (int i = 0; i < k + 2; ++i) { for (int j = n + k - 1; j >= n - 1 && j > i; --j) { int sum = arr[i] + arr[j]; vector<int> nums; for (int l = 0; l < n + k; ++l) { if (sum - arr[l] >= 0 && in[sum - arr[l]]) { nums.push_back(arr[l]); } } if (nums.size() >= n) { for (int l = 0; l < n; ++l) { cout << nums[l] << ' '; } cout << "\n"; exit(0); } } } } else { map<int,int> freq; for (int i = 0; i < 2 * k + 2; ++i) { for (int j = n + k - 1; j >= n - k - 1; --j) { int sum = arr[i] + arr[j]; freq[sum]++; } } for (auto p : freq) { if (p.second >= k) { int sum = p.first; vector<int> nums; for (int l = 0; l < n + k; ++l) { if (sum - arr[l] >= 0 && in[sum - arr[l]]) { nums.push_back(arr[l]); } } if (nums.size() >= n) { for (int l = 0; l < n; ++l) { cout << nums[l] << ' '; } cout << "\n"; exit(0); } } } } assert(false); } // 1 2 1 2 3

Compilation message (stderr)

tabletennis.cpp: In function 'int32_t main()':
tabletennis.cpp:40:33: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   40 |                 if (nums.size() >= n) {
      |                     ~~~~~~~~~~~~^~~~
tabletennis.cpp:69:33: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   69 |                 if (nums.size() >= n) {
      |                     ~~~~~~~~~~~~^~~~
#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...