#include<bits/stdc++.h>
#define ff first
#define ss second
#define int long long
#define pb push_back
using namespace std;
int mxf[200005], mxe[200005];
vector <pair <int, int> > v, v1;
vector <int> w, t;
signed main(){
int n;
cin>>n;
w.pb(0);
t.pb(0);
mxf[0]=0;
mxe[0]=0;
mxe[n+1]=0;
for(int i=1; i<=n+1; i++){
int a;
cin>>a;
t.pb(a);
v.pb({t[i], i});
}
for(int i=1; i<=n; i++){
int a;
cin>>a;
w.pb(a);
}
sort(v.begin(), v.end());
sort(w.begin(), w.end());
sort(t.begin(), t.end());
for(int i=1; i<=n; i++){
mxf[i]=max(t[i]-w[i], mxf[i-1]);
}
for(int i=n+1; i>=2; i--){
mxe[i]=max(t[i]-w[i-1], mxe[i+1]);
}
v1.pb({v[0].ss, mxe[2]});
for(int i=2; i<=n; i++){
v1.pb({v[i-1].ss, max(mxf[i-1], mxe[i+1])});
}
v1.pb({v[n-1].ss, mxf[n]});
sort(v1.begin(), v1.end());
for(int i=0; i<=n; i++){
cout<<v1[i].ss<<" ";
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |