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>
using namespace std;
int b[200001],s[200001];
int ans[200001];
array<int,2>a[200001];
int main()
{
int n;
cin>>n;
for(int i=0;i<n+1;i++){
cin>>a[i][0];
a[i][1] = i;
}
for(int i=0;i<n;i++)cin>>b[i];
sort(b,b+n);
sort(a,a+n+1);
for(int i=n;i>0;i--){
s[i] = max(0,a[i][0] - b[i-1]);
if(i!=n)s[i] = max(s[i],s[i+1]);
}
int cur = 0;
for(int i=0;i<=n;i++){
ans[a[i][1]] = cur;
if(i!=n){
ans[a[i][1]] = max(ans[a[i][1]],s[i+1]);
cur=max(cur,a[i][0]-b[i]);
}
}
for(int i=0;i<=n;i++)cout<<ans[i]<<" ";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |