Submission #1145723

#TimeUsernameProblemLanguageResultExecution timeMemory
1145723khangrlJust Long Neckties (JOI20_ho_t1)C++20
0 / 100
2 ms3400 KiB
#include<bits/stdc++.h>
#define ff first
#define ss second
#define int long long
#define pb push_back
using namespace std;
vector <int> mxf (200005), mxe (200005);
signed main(){
	int n;
	cin>>n;
	vector <pair <int, int> > v, v1;
	vector <int> w (n+1), t (n+2);
	mxf[0]=0;
	mxe[0]=0;
	mxe[n+1]=0;
	for(int i=1; i<=n+1; i++){
		cin>>t[i];
		v.pb({t[i], i});
	}
	for(int i=1; i<=n; i++){
		cin>>w[i];
	}
	sort(v.begin(), v.end());
	sort(w.begin(), w.end());
	sort(t.begin(), t.end());
	for(int i=1; i<=n; i++){
		mxf[i]=max(t[i]-w[i], mxf[i-1]);
	}
	for(int i=n+1; i>=2; i--){
		mxe[i]=max(t[i]-w[i-1], mxe[i+1]);
	}
	v1.pb({v[0].ss, mxe[2]});
	for(int i=2; i<=n; i++){
		v1.pb({v[i-1].ss, max(mxf[i-1], mxe[i+1])});
	}
	v1.pb({v[n-1].ss, mxf[n]});
	sort(v1.begin(), v1.end());
	for(int i=0; i<=n; i++){
		cout<<v1[i].ss<<" ";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...