Submission #1366792

#TimeUsernameProblemLanguageResultExecution timeMemory
1366792po_rag526Table Tennis (info1cup20_tabletennis)C++20
87 / 100
3094 ms17112 KiB
#include <bits/stdc++.h>
#define pb push_back
#define ll long long
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, k; cin >> n >> k;
    vector<ll> ar(n+k+1), val;
    set<ll> frek;
    for (int i = 1; i <= n+k; i++){
        cin >> ar[i];
        frek.insert(ar[i]);
    }
    sort(ar.begin()+1, ar.end());
    for (int i = 1; i <= k+1; i++){
        int en = n+k, st = max(i+1,en-k);
        for (int j = st; j <= en; j++){
            ll cur = ar[i]+ar[j];
            val.pb(cur);
        }
        //cout << ar[i] << " " << ar[st] << " " << ar[en] << "\n";
    }
    ll sum = 0;
    for (ll x : val){
        int cnt = 0;
        for (int i = 1; i <= n+k; i++){
            ll rem = x-ar[i];
            if (frek.count(rem)) cnt++;
        }
        if (cnt >= n){
            sum = x;
            break;
        }
        //cout << x << " " << cnt << "\n";
    }
    set<ll> ele;
    for (int i = 1; i <= n+k; i++){
        ll rem = sum-ar[i];
        if (frek.count(rem)) ele.insert(ar[i]);
    }
    //cout << sum << "\n";
    for (int i = 1; i <= n; i++){
        ll cur = *ele.begin();
        cout << cur << " ";
        ele.erase(ele.begin());
    }
    cout << "\n";
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...