Submission #1179681

#TimeUsernameProblemLanguageResultExecution timeMemory
1179681nekolieJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
81 ms6984 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int n; cin >> n;
    pair<int,int> risa[n+1];
    int xD[n], pref[n], suf[n], odp[n+1];
    for (int i = 0; i <= n; i++)
        cin >> risa[i].first, risa[i].second = i;
    for (int i = 0; i < n; i++)
        cin >> xD[i];
    sort(risa,risa+n+1), sort(xD,xD+n);
    pref[0] = max(risa[0].first-xD[0],0), suf[n-1] = max(risa[n].first-xD[n-1],0);
    for (int i = 1; i < n; i++)
        pref[i] = max(pref[i-1],risa[i].first-xD[i]);
    for (int i = n-2; i >= 0; i--)
        suf[i] = max(suf[i+1],risa[i+1].first-xD[i]);
    odp[risa[0].second] = suf[0], odp[risa[n].second] = pref[n-1];
    for (int i = 1; i < n; i++)
        odp[risa[i].second] = max(pref[i-1],suf[i]);
    for (int i = 0; i <= n; i++)
        cout << odp[i] << " ";
    cout << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...