Submission #1322272

#TimeUsernameProblemLanguageResultExecution timeMemory
1322272aaaaaaaaJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
68 ms10028 KiB
#include <bits/stdc++.h>
using namespace std;


#define int long long

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(nullptr); cout.tie(nullptr);


	int n;
	cin >> n;

	vector<pair<int, int>> a(n + 2);

	vector<int> b(n + 1, 0), ans(n + 2, 0), suf(n + 5, 0);

	for(int i = 1, x; i <= n + 1; ++i){
		cin >> x;
		a[i].first = x;
		a[i].second = i;
	}

	for(int i = 1; i <= n; ++i){
		cin >> b[i];
	}


	sort(a.begin() + 1, a.end());
	sort(b.begin() + 1, b.end());



	for(int i = n; i >= 1; --i){
		suf[i] = max(suf[i + 1], max(a[i + 1].first - b[i], 0ll));
	}

	for(int i = 1, cur = -1; i <= n + 1; ++i){
		ans[a[i].second] = max(suf[i], cur);
		cur = max(cur, max(a[i].first - b[i], 0ll));
	}

	for(int i = 1; i <= n + 1; ++i) cout << ans[i] << " ";

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...