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;
#define pb push_back
#define X first
#define Y second
int n,m,a[200005],b[200005],ti[200005],chng[200005],idx[200005],l[200005],r[200005];
vector<int> v;
vector<pair<int,int> > p;
int main()
{
ios_base::sync_with_stdio(0),cin.tie(0);
cin >> n;
for(int i=1;i<=n+1;i++)cin >> a[i];
for(int i=1;i<=n;i++)cin >> b[i];
for(int i=1;i<=n;i++)
{
v.pb(b[i]);
}
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)ti[i+1]=v[i];
for(int i=1;i<=n+1;i++)
{
p.pb({a[i],i});
}
sort(p.begin(),p.end());
for(int i=0;i<p.size();i++)
{
idx[p[i].second]=i+1;
chng[i+1]=p[i].X;
}
l[1]=max(-ti[1]+chng[1],0);
for(int i=2;i<=n;i++)
{
l[i]=max(l[i-1],max(-ti[i]+chng[i],0));
}
r[n+1]=max(-ti[n]+chng[n+1],0);
for(int i=n;i>=2;i--)
{
r[i]=max(r[i+1],max(-ti[i-1]+chng[i],0));
}
/*printf("l\n");
for(int i=1;i<=n;i++)
{
printf("%d ",l[i]);
}
printf("\n");
printf("r\n");
for(int i=2;i<=n+1;i++)
{
printf("%d ",r[i]);
}
printf("\n");*/
for(int i=1;i<=n+1;i++)
{
printf("%d ",max(l[idx[i]-1],r[idx[i]+1]));
}
}
Compilation message (stderr)
ho_t1.cpp: In function 'int main()':
ho_t1.cpp:20:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
20 | for(int i=0;i<v.size();i++)ti[i+1]=v[i];
| ~^~~~~~~~~
ho_t1.cpp:26:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
26 | for(int i=0;i<p.size();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... |