Submission #1317681

#TimeUsernameProblemLanguageResultExecution timeMemory
1317681tuncay_pashaTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3094 ms5184 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

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

    // İki işaretçi için sıralama şart
    sort(a.begin(), a.end());

    // S adaylarını belirle: Doğru toplam S, 
    // ilk k+1 eleman ile son k+1 elemanın eşleşmesinden gelmek zorunda.
    set<ll> candidates;
    for (int i = 0; i <= k; i++) {
        for (int j = m - 1 - (k - i); j < m; j++) {
            candidates.insert(a[i] + a[j]);
        }
    }

    for (ll S : candidates) {
        vector<ll> res;
        int L = 0, R = m - 1;
        
        while (L < R) {
            if (a[L] + a[R] == S) {
                res.push_back(a[L]);
                res.push_back(a[R]);
                L++;
                R--;
            } else if (a[L] + a[R] < S) {
                L++;
            } else {
                R--;
            }
            // n eleman bulduğumuz an durabiliriz
            if (res.size() == n) break;
        }

        if (res.size() == n) {
            sort(res.begin(), res.end());
            for (int i = 0; i < n; i++) {
                cout << res[i] << (i == n - 1 ? "" : " ");
            }
            cout << endl;
            return;
        }
    }
}

int main() {
    // Hız için şart
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    solve();
    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...