Submission #1145860

#TimeUsernameProblemLanguageResultExecution timeMemory
1145860idonoamTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3095 ms4268 KiB
#include <bits/stdc++.h>
using namespace std;
using ll  = long long;

int main() {
	ll n, k; cin >> n >> k;
    vector<ll> vec(n+k);
    for(int i = 0; i < n+k; i++){
        cin >> vec[i];
    }
    bool cnt = true;
    vector<ll> ps((k+1)*(k+1));
    for (int i = 0; i < k+1; i++){
        for(int j = 0; j < k+1; j++){
            ps[i*(k+1)+j] = vec[i] + vec[n+k-1-j];
        }
    }
//    for(int i = 0; i < ps.size(); i++){cout << ps[i] << ' ';}
    for(int t = 0; t < (k+1)*(k+1) && cnt; t++){
        ll sum = ps[t];
        vector<ll> op(n);
        int m = 0, p = n-1;
        for(int i = 0, j = n+k-1; i < j;){
            if(vec[i] + vec[j] == sum){
                op[m] = vec[i];
                op[p] = vec[j];
                m++,i++,j--, p--;
            }
            else if(vec[i] + vec[j] > sum){j--;}
            else{i++;}
        }
        if(m == p+1){
            cnt = false;
            for(int i = 0; i < n; i++){cout << op[i] << ' ';}
            cout << '\n';
        }
    }
}
#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...