This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
    ios_base::sync_with_stdio(0), cin.tie(0);
    int n;
    cin >> n;
    vector<pair<int, int>> a(n + 1);
    int curid = 0;
    for (auto& [el, id] : a) {
        cin >> el;
        id = curid++;
    }
    vector<int> b(n);
    for (auto& el : b)
        cin >> el;
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    vector<int> ans(n + 1);
    multiset<int> cur;
    for (int i = 1; i <= n; ++i)
        cur.insert(max(a[i].first - b[i - 1], 0ll));
    ans[a[0].second] = *cur.rbegin();
    for (int i = 1; i <= n; ++i) {
        cur.extract(max(a[i].first - b[i - 1], 0ll));
        cur.insert(max(a[i - 1].first - b[i - 1], 0ll));
        ans[a[i].second] = *cur.rbegin();
    }
    for (auto el : ans)
        cout << el << ' ';
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |