Submission #1232152

#TimeUsernameProblemLanguageResultExecution timeMemory
1232152khomeTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3095 ms4292 KiB
#include <bits/stdc++.h>

using namespace std;
#define int unsigned 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, int L, int R) -> void {
        int l = L, r = R, f = 0;
        while(l < r) {
            if(f == n) break;
            if(a[l] + a[r] == x) {
                f+=2;
                l++;
                r--;
            } else if(a[l] + a[r] > x) {
                r--;
            } else {
                l++;
            }
        }

        if (f == n){
            vector<int> v;
            int l = L, r = R;
            while(l < r) {
                if (v.size() >= n) break;
                if(a[l] + a[r] == x) {
                    v.push_back(a[l]);
                    v.push_back(a[r]);
                    l++;
                    r--;
                } else if(a[l] + a[r] > x) {
                    r--;
                } else {
                    l++;
                }
            }
            
            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], i, j);
        }
    }

}

signed main(){
    cin.tie(0) -> sync_with_stdio(0);
    int t = 1;
    // cin >> t;
    while (t--)solve();
}



// 5 8 10 15 19
//   ^        ^
// 
// 23
#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...