제출 #1163750

#제출 시각아이디문제언어결과실행 시간메모리
1163750ChaterJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
131 ms11768 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define ll long long
#define int long long
#define sc second
#define fr first
#define all(x) x.begin(),x.end()
#define roll(x) x.rbegin(),x.rend()
#define pb push_back
signed main(){
    ll n;
    cin >> n;
    vector<pair<int,int>> b(n+1);
    vector<int> a(n);
    for(ll i = 0;i<=n;i++){
        cin >> b[i].fr;
        b[i].sc = i;
    }
    for(ll i =0;i<n;i++){
        cin  >> a[i];
    }
    sort(all(b));
    sort(all(a));
    vector<int> ans(1);
    vector<int> ans2;
    for(ll i = 0;i<n;i++){
        ans.pb(b[i].fr - a[i]);
        ans2.pb(b[i+1].fr - a[i]);
    }
    ans2.pb(0);
    for(ll i = 1;i<ans.size();i++){
        ans[i] = max(ans[i],ans[i-1]);
    }
    for(ll i = ans2.size()-2;i>=0;i--){
        ans2[i] = max(ans2[i],ans2[i+1]);
    }

    vector<int> g(n+1);
    for(ll i = 0;i<=n;i++){
        ll m = 0;
        m = max(ans[i],m);
        m = max(ans2[i],m);
        g[b[i].sc] = m;
    }
    for(ll i = 0;i<=n;i++){
        cout << g[i] << " ";
    }
}



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...