Submission #547239

#TimeUsernameProblemLanguageResultExecution timeMemory
547239AbdelmagedNourJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
90 ms10828 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    pair<int,int>a[n+1];
    int arr[n],pre[n],suf[n],ans[n+1];
    for(int i=0;i<=n;i++)cin>>a[i].first,a[i].second=i;
    for(int i=0;i<n;i++)cin>>arr[i];
    sort(a,a+n+1);
    sort(arr,arr+n);
    for(int i=0;i<n;i++){
        pre[i]=max(a[i].first-arr[i],0);
        suf[i]=max(a[i+1].first-arr[i],0);
    }
    for(int i=1;i<n;i++)pre[i]=max(pre[i],pre[i-1]);
    for(int i=n-2;i>=0;i--)suf[i]=max(suf[i],suf[i+1]);
    ans[a[0].second]=suf[0];
    ans[a[n].second]=pre[n-1];
    for(int i=1;i<n;i++){
        ans[a[i].second]=max(pre[i-1],suf[i]);
    }
    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...