Submission #955227

#TimeUsernameProblemLanguageResultExecution timeMemory
955227Dennis_JasonJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
174 ms15440 KiB
#include <bits/stdc++.h>
#define NMAX 200001
#define pb push_back
#define MOD 1000000007
#define nl '\n'
#define INF 0x3f3f3f3f
#define int long long
using namespace std;

int n,a[NMAX],c[NMAX],st[NMAX],dr[NMAX];
struct arr{
    int x,poz;
    bool operator <(const arr &c) const{
        return x<c.x;
    }
}b[NMAX];
signed main() {

   cin>>n;
   for(int i=1;i<=n+1;++i)
   {
       cin>>b[i].x;
       b[i].poz=i;
   }
   sort(b+1,b+1+n+1);
   for(int i=1;i<=n;++i)
   {
       cin>>a[i];
   }
   sort(a+1,a+1+n);
   for(int i=1;i<=n;++i)
   {
       st[i]=b[i].x-a[i];
       st[i]=max(st[i],st[i-1]);
   }
   for(int i=n;i>=1;--i)
   {
       dr[i]=b[i+1].x-a[i];
       dr[i]=max(dr[i],dr[i+1]);
   }
   for(int i=1;i<=n+1;++i)
   {
       int aux=dr[i];
       aux=max(aux,st[i-1]);
       c[b[i].poz]=aux;
   }
   for(int i=1;i<=n+1;++i)
       cout<<c[i]<<" ";





    return 0;

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