Submission #591455

#TimeUsernameProblemLanguageResultExecution timeMemory
591455piOOEJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
97 ms9960 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<int> b(n), c(n + 1);
    vector<pair<int, int>> a(n + 1);
    for (int i = 0; i < n + 1; ++i) {
        cin >> a[i].first;
        a[i].second = i;
    }
    for (int i = 0; i < n; ++i) {
        cin >> b[i];
    }
    sort(a.begin(), a.end()), sort(b.begin(), b.end());
    int mn = 0;
    vector<int> suf(n + 1);
    for (int i = n - 1; i > -1; --i) {
        suf[i] = max(suf[i + 1], a[i + 1].first - b[i]);
    }
    for (int i = 0; i < n + 1; ++i) {
        c[a[i].second] = max(mn, suf[i]);
        if (i < n) {
            mn = max(mn, a[i].first - b[i]);
        }
    }
    for (int i = 0; i < n + 1; ++i) {
        cout << c[i] << " ";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...