Submission #1369041

#TimeUsernameProblemLanguageResultExecution timeMemory
1369041ayhamzaiddTable Tennis (info1cup20_tabletennis)C++20
100 / 100
45 ms4368 KiB
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O1")
#define ll long long
#define pii pair<ll,ll>
#define pi pair<ll,pii>
#define fi first
#define se second

const ll N=2e5+1005,MOD=998244353,INF=1e18;


int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);


    int t=1;//cin>>t;
    while(t--){
        ll n,k;cin>>n>>k;
        n+=k;
        ll a[n+5];
        for(int i=1; i<=n; i++)cin>>a[i];
        for(int l=1; l<=k+1; l++){
            for(int r=n; r>=n-k; r--){
                if(l-1+n-r>k)continue;
                vector<ll> ans;
                ll la=l+1,ra=r-1,cur=a[l]+a[r],lef=k-(l-1+n-r);
                ans.push_back(a[l]);
                ans.push_back(a[r]);
                while(la<=ra && lef>=0){
                    if(a[la]+a[ra]==cur){
                        ans.push_back(a[la]);
                        ans.push_back(a[ra]);
                        la++;
                        ra--;
                        if(ans.size()==n-k)break;
                    }
                    else if(a[la]+a[ra]<cur){
                        la++;
                        lef--;
                    }
                    else {
                        ra--;
                        lef--;
                    }
                }
                //cout<<l<<" "<<r<<" "<<ans.size()<<"\n";
                if(ans.size()==n-k){
                    sort(ans.begin(),ans.end());
                    for(ll i : ans)cout<<i<<" ";
                    return 0;
                }
            }
        }
    }
}
// 1 3 4 6 7 9
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...