Submission #1357326

#TimeUsernameProblemLanguageResultExecution timeMemory
1357326ffeyyaae_Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
54 ms11796 KiB
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

const int N = 2e5+5;

int n;
vector<pair<ll,int>> a;
vector<ll> b;
ll pref[N], suf[N];

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin >> n;
    a.resize(n+1);
    b.resize(n);
    for( int i=0;i<=n;i++ )
    {
        int x;
        cin >> x;
        a[i] = {x, i};
    }
    for( int i=0;i<n;i++ ) cin >> b[i];
    sort( a.begin(), a.end() );
    sort( b.begin(), b.end() );
    for( int i=0;i<n;i++ )
    {
        pref[i+1] = max( pref[i], max(0LL, a[i].first-b[i]) );
    }
    for( int i=n;i>0;i-- )
    {
        suf[i] = max( suf[i+1], max(0LL, a[i].first-b[i-1]) );
    }
    ll ans[N] = {0};
    for( int i=0;i<=n;i++ )
    {
        ans[a[i].second] = max( pref[i], suf[i+1] );
    }
    for( int i=0;i<=n;i++ ) cout << ans[i] << " \n"[i==n];
    return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...