Submission #1220885

#TimeUsernameProblemLanguageResultExecution timeMemory
1220885mariamtsagareliJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
65 ms16452 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin>>n;
    vector<ll>a(n+1),b(n);
    for(int i=0;i<=n;i++)cin>>a[i];
    for(int i=0;i<n;i++)cin>>b[i];
    vector<pair<ll,int>>c(n+1);
    for(int i=0;i<=n;i++)c[i]={a[i],i};
    sort(c.begin(),c.end());
    sort(b.begin(),b.end());
    vector<ll>d(n),e(n);
    for(int i=0;i<n;i++){
        d[i]=max(c[i].first - b[i], 0LL);
        e[i]=max(c[i+1].first - b[i], 0LL);
    }
    vector<ll>L(n+1),R(n+1),ans(n+1);
    L[0]=0;
    for(int i=1;i<=n;i++) L[i]=max(L[i-1], d[i-1]);
    R[n]=0;
    for(int i=n-1;i>=0;i--) R[i]=max(R[i+1], e[i]);
    for(int i=0;i<=n;i++){
        ans[c[i].second] = max(L[i], R[i]);
    }
    for(int i=0;i<=n;i++){
        cout<<ans[i]<<(i<n?' ':'\n');
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...