Submission #1341840

#TimeUsernameProblemLanguageResultExecution timeMemory
1341840bilgetux38Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
69 ms11804 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#pragma GCC optimize ("Ofast")

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    int n;
    cin>>n;
    vector<pair<int,int>> vcc(n+1);
    vector<int> b(n),c(n+1);
    for (int i = 0; i < n+1; ++i)
    {
        cin>>vcc[i].first;
        vcc[i].second = i;
    }
    for (int i = 0; i < n; i++)
    {
        cin>>b[i];
    }
    sort(vcc.begin(),vcc.end());
    sort(b.begin(),b.end());
    vector<int> mxx(n), mxk(n);
    mxx[0] = vcc[0].first - b[0];
    for (int i = 1; i < n; ++i)
    {
        mxx[i] = max(mxx[i-1],vcc[i].first-b[i]);
    }

    mxk[n-1] = vcc[n].first - b[n-1];
    for (int i = n-2; i >= 0; i--)
    {
        mxk[i] = max(mxk[i+1], vcc[i+1].first - b[i]);
    }

    c[vcc[0].second] = mxk[0];
    for (int i = 1; i < n; i++)
    {
        c[vcc[i].second] = max(mxx[i-1],mxk[i]);
    }
    c[vcc[n].second] = mxx[n-1];
    for (int i = 0; i < n+1; ++i)
    {
        cout<<c[i]<<' ';
    }
    cout<<endl;
    
    

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...