Submission #1100639

#TimeUsernameProblemLanguageResultExecution timeMemory
1100639stdfloatJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
212 ms18756 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

#define ff  first
#define ss  second
#define pii pair<int, int>

int main() {
	ios::sync_with_stdio(false); cin.tie(nullptr);

	int n;
	cin >> n;

	pii p[n + 1];
	for (int i = 0; i <= n; i++) {
		cin >> p[i].ff; p[i].ss = i;
	}
	sort(p, p + n + 1);

	vector<int> b(n);
	for (auto &i : b)
		cin >> i;
	sort(b.begin(), b.end());

	multiset<int> s = {0};
	for (int i = 1; i <= n; i++)
		s.insert(p[i].ff - b[i - 1]);

	vector<int> ans(n + 1, *--s.end());
	for (int i = 1; i <= n; i++) {
		s.erase(s.find(p[i].ff - b[i - 1]));
		s.insert(p[i - 1].ff - b[i - 1]);

		ans[p[i].ss] = *--s.end();
	}

	for (auto i : ans)
		cout << i << ' ';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...