Submission #1273182

#TimeUsernameProblemLanguageResultExecution timeMemory
1273182jose_ernestoJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
71 ms11744 KiB
#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define pii pair<int, int>
#define sd second
#define fs first
#define vi vector<int>
#define vii vi<vi>
#define vpii vector<pii>
#define pb push_back
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

using namespace std;

const int oo=1e18,MAX=2e5+5;

int32_t main(){
    fast
    int a,n;
    cin>>n;
    vpii c(n+1);
    vi auxi(n+1,0),auxi1(n+1,0);
    vi e(n),ans(n+1);
    for(int i=0;i<=n;i++){
        cin>>c[i].fs;
        c[i].sd=i;
    }
    for(int i=0;i<n;i++){
        cin>>e[i];
    }
    sort(c.begin(),c.end());
    sort(e.begin(),e.end());
    for(int i=n-1;i>=0;i--){
        if(i==n-1){auxi[i]=max(auxi[i],c[i+1].fs-e[i]);continue;}
        auxi[i]=max(auxi[i+1],c[i+1].fs-e[i]);
    }
    for(int i=0;i<n;i++){
        if(i==0){auxi1[i]=max(auxi1[i],c[i].fs-e[i]);continue;}
        auxi1[i]=max(auxi1[i-1],c[i].fs-e[i]);
    }
    for(int i=0;i<n;i++){
        ans[c[i].sd]=max(auxi[i],auxi1[i]);
        if(i==n-1){ans[c[i+1].sd]=auxi1[i];
        }
    }
    for(int i=0;i<=n;i++){
        cout<<ans[i]<<" ";
    }


}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...