제출 #1231971

#제출 시각아이디문제언어결과실행 시간메모리
1231971khomeTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3093 ms4420 KiB
#include <bits/stdc++.h>

using namespace std;
#define int long long

const int inf = 1e9;

void solve(){
    int n, k; cin >> n >> k;
    vector<int> a(n + k);
    for (int i = 0; i < n + k; i++ ) cin >> a[i];

    sort(a.begin(), a.end());

    auto check = [&](int x) -> void {
        vector<int> v;
        for (int i = 0; i < n + k; i++) {
            if (v.size() >= n) break; 
            auto it = lower_bound(a.begin(), a.end(), x - a[i]);
            if (it != a.end() && *it == x - a[i] && a[i] < x - a[i]) {
                v.push_back(a[i]);
                v.push_back(x - a[i]);
            }
        }
        if (v.size() == n){
            sort(v.begin(), v.end());
            for (int i : v) cout << i << ' '; cout << endl;
            exit(0);
        }
        return;
    };

    for (int i = 0; i < k + 1; i++ ) {
        for (int j = i + n - 1; j < n + k; j++) {
            check(a[i] + a[j]);
        }
    }

}

signed main(){
    cin.tie(0) -> sync_with_stdio(0);
    int t = 1;
    // cin >> t;
    while (t--)solve();
}
#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...