#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
vector<ll>a(n+1),b(n);
for(int i=0;i<=n;i++)cin>>a[i];
for(int i=0;i<n;i++)cin>>b[i];
vector<pair<ll,int>>c(n+1);
for(int i=0;i<=n;i++)c[i]={a[i],i};
sort(c.begin(),c.end());
sort(b.begin(),b.end());
vector<ll>d(n),e(n);
for(int i=0;i<n;i++){
d[i]=max(c[i].first - b[i], 0LL);
e[i]=max(c[i+1].first - b[i], 0LL);
}
vector<ll>L(n+1),R(n+1),ans(n+1);
L[0]=0;
for(int i=1;i<=n;i++) L[i]=max(L[i-1], d[i-1]);
R[n]=0;
for(int i=n-1;i>=0;i--) R[i]=max(R[i+1], e[i]);
for(int i=0;i<=n;i++){
ans[c[i].second] = max(L[i], R[i]);
}
for(int i=0;i<=n;i++){
cout<<ans[i]<<(i<n?' ':'\n');
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |