Submission #234559

#TimeUsernameProblemLanguageResultExecution timeMemory
234559nicolaalexandraJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
302 ms10872 KiB
#include <bits/stdc++.h>
#define DIM 200010
using namespace std;
pair <int,int> a[DIM];
int b[DIM],dp_left[DIM],dp_right[DIM],sol[DIM];
int n,i;
int main (){

    //ifstream cin ("date.in");
    //ofstream cout ("date.out");

    cin>>n;
    for (i=1;i<=n+1;i++){
        cin>>a[i].first;
        a[i].second = i;
    }
    for (i=1;i<=n;i++)
        cin>>b[i];

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

    dp_left[1] = 0;
    for (i=1;i<=n;i++)
        dp_left[i+1] = max (dp_left[i],a[i].first - b[i]);

    dp_right[n+1] = 0;
    for (i=n;i;i--)
        dp_right[i] = max (dp_right[i+1], a[i+1].first - b[i]);

    for (i=1;i<=n+1;i++)
        sol[a[i].second] = max (dp_left[i],dp_right[i]);

    for (i=1;i<=n+1;i++)
        cout<<max(0,sol[i])<<" ";


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