Submission #1189287

#TimeUsernameProblemLanguageResultExecution timeMemory
1189287boclobanchatJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
67 ms6980 KiB
#include<bits/stdc++.h>
using namespace std;
#define ii pair<int,int>
#define fi first
#define se second
const int MAXN=2e5+5;
int pref[MAXN],suff[MAXN],ans[MAXN],V[MAXN];
ii val[MAXN];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    for(int i=1;i<=n+1;i++)
    {
    	cin>>val[i].fi;
    	val[i].se=i;
	}
	for(int i=1;i<=n;i++) cin>>V[i];
	sort(val+1,val+n+2);
	sort(V+1,V+n+1);
	for(int i=1;i<=n+1;i++) if(i<=n) pref[i]=max(pref[i-1],max(val[i].fi-V[i],0));
	else pref[i]=pref[i-1];
	for(int i=n+1;i;i--) if(i>1) suff[i]=max(suff[i+1],max(val[i].fi-V[i-1],0));
	else suff[i]=suff[i+1];
	for(int i=1;i<=n+1;i++) ans[val[i].se]=max(pref[i-1],suff[i+1]);
	for(int i=1;i<=n+1;i++) cout<<ans[i]<<" ";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...