Submission #1109455

#TimeUsernameProblemLanguageResultExecution timeMemory
1109455DobromirAngelovJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
76 ms10056 KiB
#include<bits/stdc++.h>
#define endl '\n'
#define fi first
#define se second

using namespace std;

const int MAXN=2e5+5;

int n;
int a[MAXN];
pair<int,int> h[MAXN];
int pref[MAXN];
int ans[MAXN];

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

    cin>>n;
    for(int i=1;i<=n+1;i++) 
    {
        cin>>h[i].fi;
        h[i].se=i;
    }
    for(int i=1;i<=n;i++) cin>>a[i];

    sort(a+1,a+n+1);
    sort(h+1,h+n+2);

    for(int i=1;i<=n;i++)
    {
        pref[i]=max(pref[i-1], h[i].fi-a[i]);
    }

    ans[h[n+1].se]=pref[n];
    int suff=0;
    for(int i=n;i>=1;i--)
    {
        suff=max(suff, h[i+1].fi-a[i]);
        ans[h[i].se]=max(suff, pref[i-1]);
    }

    for(int i=1;i<=n+1;i++) cout<<ans[i]<<" ";
    cout<<endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...