제출 #1315861

#제출 시각아이디문제언어결과실행 시간메모리
1315861the_ZHERJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
69 ms13300 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
const int inf=1e18;
const int N=2e5+100;
const int mod=1e9+7;
int a[N],b[N];
pair<int,int>p[N];
int pr[N];
int pr1[N];
int ans[N];
signed main(){
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    boost;
    int n;
    cin>>n;
    for(int i=1;i<=n+1;i++){
        cin>>a[i];
        p[i]={a[i],i};
    }
    for(int i=1;i<=n;i++){
        cin>>b[i];
    }
    sort(b+1,b+1+n);
    sort(p+1,p+1+n+1);
    int mx=0;
    for(int i=1;i<=n;i++){
        mx=max(mx,p[i].first-b[i]);
        pr[i]=max(pr[i-1],max(p[i].first-b[i],0ll));
    }
    for(int i=n;i>=1;i--){
        pr1[i]=max(pr1[i+1],max(p[i+1].first-b[i],0ll));
    }
    ans[p[n+1].second]=mx;
    for(int i=1;i<=n;i++){
        ans[p[i].second]=max(pr[i-1],pr1[i]);
    }
    for(int i=1;i<=n+1;i++){
        cout<<ans[i]<<" ";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...