Submission #1265149

#TimeUsernameProblemLanguageResultExecution timeMemory
1265149nlsosadJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
149 ms13240 KiB
#include <bits/stdc++.h>
#define int long long
#define f first
#define s second
using namespace std;
pair<int, int> a[200005], b[200005];
int pf[200005], sf[200005];
int res[200005];
signed main(){
	int n;
	cin >> n;
	for (int i = 1;i<=n+1;++i){
		cin >> a[i].f;
		a[i].s = i;
	}
	for(int i = 1;i<=n;++i){
		cin >> b[i].f;
		b[i].s = i;
	}
	sort(a+1, a+n+2);
	sort(b+1, b+n+1);
	for (int i = 1;i<=n;++i){
		pf[i] = max(pf[i-1], a[i].f-b[i].f);
	}
	for (int i = n+1;i>=2;--i){
		sf[i] = max(sf[i+1], a[i].f-b[i-1].f);
	}
	for (int i = 1;i<=n+1;++i){
		res[a[i].s] = max(pf[i-1], sf[i+1]);
	}
	for (int i = 1;i<=n+1;++i){
		cout << res[i] << ' ';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...