Submission #1348585

#TimeUsernameProblemLanguageResultExecution timeMemory
1348585nathlol2Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
171 ms14720 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n, b[N], ans[N];
pair<int, int> a[N];

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    cin >> n;
    for(int i = 1;i<=n + 1;i++) cin >> a[i].first, a[i].second = i;
    for(int i = 1;i<=n;i++) cin >> b[i];
    sort(a + 1, a + n + 2); sort(b + 1, b + n + 1);
    multiset<int> s;
    for(int i = 1;i<=n;i++){
        s.insert(a[i + 1].first - b[i]);
    }
    ans[a[1].second] = *s.rbegin();
    for(int i = 2;i<=n + 1;i++){
        s.erase(s.find(a[i].first - b[i - 1]));
        s.insert(a[i - 1].first - b[i - 1]);
        ans[a[i].second] = *s.rbegin();
    }
    for(int i = 1;i<=n + 1;i++) cout << max(0, ans[i]) << ' ';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...