Submission #717409

#TimeUsernameProblemLanguageResultExecution timeMemory
717409vjudge1Table Tennis (info1cup20_tabletennis)C++17
9 / 100
145 ms38928 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;
    map<int,bool> in;
    for (int i = 0; i < n + k; ++i) {
        cin >> arr[i];
        in[arr[i]] = true;
    }
    
    map<int,int> freq;
    for (int i = 0; i < max(k, (int) sqrt(n));  ++i) {
        for (int j = n + k - 1; j >= n + k - max(k, (int) sqrt(n)) && j > i; --j) {
            int sum = arr[i] + arr[j];
            freq[sum]++;
        }
    }

    int mx = 0, sum = 0;
    for (auto p : freq) {
        if (p.second > mx) {
            mx = p.second;
            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]);
        }
    }
    
    for (int l = 0; l < n; ++l) {
        cout << nums[l] << ' ';
    }
    cout << "\n";
}
// 1 2 1 2 3
#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...