This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define forn(i, n) for(int i = 0; i < int(n); i++)
#define ll long long
using namespace std;
const int lmt = 200005;
struct wer{
int v, i, otheri;
};
bool operator < (const wer &a, const wer &b){
return a.v < b.v;
}
wer p[lmt];
int a[lmt];
int ans[lmt];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n; cin>>n;
forn(i, n+1){
cin>>p[i].v;
p[i].i = i;
}
forn(i, n) cin>>a[i];
sort(p, p+n+1);
sort(a,a+n);
priority_queue<wer> mqun;
forn(i, n){
mqun.push({max(p[i].v-a[i],0),p[i].i,i});
}
ans[p[n].i] = mqun.top().v;
for(int i = n; i>= 0; i--){
mqun.push({max(p[i+1].v - a[i], 0), p[i].i, -1});
while(mqun.top().otheri >= i){
mqun.pop();
}
ans[p[i].i] = mqun.top().v;
}
forn(i, n+1){
cout<<ans[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... |