제출 #745988

#제출 시각아이디문제언어결과실행 시간메모리
745988vjudge1Table Tennis (info1cup20_tabletennis)C++17
87 / 100
3062 ms5580 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<long long> x(n+k);
    for (int i=0; i<n+k; i++) cin >> x[i];
    sort(x.begin(), x.end());
    vector<long long> ans(n);
    bool done=false;
    for (int i=0; (i<k+1 && !done); i++) {
        for (int j=n+k-1; (j>n-k+i-2 && !done); j--){
            long long sum=x[i]+x[j];
            int bcnt=0, l=i+1, r=j-1;
            while (r>l) {
                if (x[l]+x[r]>sum) {
                    r--;
                    bcnt++;
                }
                else if (x[l]+x[r]<sum){
                    l++;
                    bcnt++;
                }
                else {
                    r--;
                    l++;
                }
            }
            if (k>=bcnt+i+n+k-j-1) {
                done=true;
                int ansi=0, l=i, r=j;
                while (r>l) {
                    if (x[l]+x[r]>sum) {
                        r--;
                    }
                    else if (x[l]+x[r]<sum){
                        l++;
                    }
                    else {
                        if (ansi<n) {
                            ans[ansi++]=x[l];
                            ans[ansi++]=x[r];
                        }
                        r--;
                        l++;
                    }
                }
                //cerr << i << " " << j << "\n";
            }
        }
    }
    sort(ans.begin(), ans.end());
    for (int i=0; i<n; i++) cout << ans[i] << " ";
    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...