Submission #1182520

#TimeUsernameProblemLanguageResultExecution timeMemory
1182520ALTAKEXEJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
229 ms17808 KiB
#include <bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
using namespace std;
int main()
{
    ll n;
    cin >> n;
    ll b[n + 5];
    pair<ll, ll> a[n + 5];
    ll ans[n + 5];
    for (ll i = 1; i <= n + 1; i++)
        cin >> a[i].ff, a[i].ss = i;
    for (ll i = 1; i <= n; i++)
        cin >> b[i];
    sort(a + 1, a + n + 2);
    sort(b + 1, b + n + 1);
    multiset<ll, greater<ll>> st;
    for (ll i = 1; i <= n; i++)
        st.insert(a[i].ff - b[i]);
    ans[a[n + 1].ss] = *st.begin();
    for (ll i = n; i >= 1; i--)
    {
        st.erase(st.find(a[i].ff - b[i]));
        st.insert(a[i + 1].ff - b[i]);
        ans[a[i].ss] = *st.begin();
    }
    for (ll i = 1; i <= n + 1; i++)
        cout << max(ans[i], 0ll) << ' ';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...