Submission #717887

#TimeUsernameProblemLanguageResultExecution timeMemory
717887vjudge1Table Tennis (info1cup20_tabletennis)C++17
49 / 100
3068 ms234908 KiB
#include "bits/stdc++.h"
#define ll long long
using namespace std;
const ll mod = 1000000007;

signed main () {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    // freopen("cowland.in","r",stdin);
    // freopen("cowland.out","w",stdout);

    int n, k;
    cin >> n >> k;
    vector<int> v;
    set<int> ss;
    for(int i = 0; i < n + k; i++) {
        int x;
        cin >> x;
        ss.insert(x);
        v.push_back(x);
    }
    sort(v.begin(), v.end());
    map<int, int> mp;
    for(int i = 0; i < n + k; i++)
        mp[v[i]] = i + 1;
    sort(v.begin(), v.end());
    set<int> s;
    for(int i = 0; i <= k; i++) {
        int j = n + k - 1;
        while(i < j && i + ((n + k) - j - 1) <= k)
            s.insert(v[i] + v[j--]);
    }
    for(int x : s) {
        int y = 0;
        for(int i = 0; i < n + k && y < n; i++) {
            if(mp[v[i]] && mp[x - v[i]])
                y += 2;
        }
        if(y >= n) {
            set<int> ans;
            for(int i = 0; i < n + k; i++) {
                if(mp[v[i]] && mp[x - v[i]]) {
                    ans.insert(v[i]);
                    ans.insert(x - v[i]);
                }
            }
            for(int i : ans)
                cout << i << " ";
            return 0;
        }
    }

    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...