#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define st first
#define nd second
#define pb push_back
const int maxn = 2e5+7;
int wynik[maxn];
int pref[maxn];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,a;
cin>>n;
vector<pair<int,int>> v1;
vector<int> v2;
for(int i=1;i<=n+1;i++){
cin>>a;
v1.pb({a,i});
}
sort(v1.begin(),v1.end());
for(int i=1;i<=n;i++){
cin>>a;
v2.pb(a);
}
sort(v2.begin(),v2.end());
pref[0] = max(0,v1[0].st - v2[0]);
for(int i=1;i<n;i++){
pref[i] = max(pref[i-1],max(0,v1[i].st-v2[i]));
}
wynik[v1[n].nd] = pref[n-1];
int suf = 0,akt;
for(int i=n-1;i>=0;i--){
akt = max(0,v1[i+1].st - v2[i]);
suf = max(suf,akt);
if(i != 0){
wynik[v1[i].nd] = max(suf,pref[i-1]);
}
else{
wynik[v1[i].nd] = suf;
}
}
for(int i=1;i<=n+1;i++){
cout<<wynik[i]<<" ";
}
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... |