Submission #1222502

#TimeUsernameProblemLanguageResultExecution timeMemory
1222502lukasuliashviliJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
151 ms11768 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define fs first 
#define sc second 
#define pb push_back
#define rep(i,a,b) for(int i=a; i<=b; i++)
const int N=2000005;
int b[N],ans[N],pr[N],suf[N];
pair<int,int> a[N];
signed main() {
    //a// 3 4 6 7
    //b// 2 4 6 
    //1 0 0 
    //1 0 1 
    //b>a
    int n;
   cin>>n;
   rep(i,1,n+1){
    cin>>a[i].fs;
    a[i].sc=i;
   }
   rep(i,1,n){
    cin>>b[i];
   }
   sort(a+1,a+n+2);
   sort(b+1,b+n+1);
   rep(i,1,n){
    pr[i]=max(pr[i-1],a[i].fs-b[i]);
   }
   for(int i=n+1; i>=1; i--){
    suf[i]=max(suf[i+1],a[i].fs-b[i-1]);
   }
   rep(i,1,n+1){
    ans[a[i].sc]=max(pr[i-1],suf[i+1]);
   }
   rep(i,1,n+1){
    cout<<ans[i]<<" ";
   }

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