Submission #961687

#TimeUsernameProblemLanguageResultExecution timeMemory
961687VMaksimoski008Just Long Neckties (JOI20_ho_t1)C++14
100 / 100
210 ms10948 KiB
#include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; int32_t main() { int n; cin >> n; vector<pii> a(n+1); int id = 0; vector<int> b(n), ans(n+1); for(auto &x : a) cin >> x.first, x.second = id++; for(int &x : b) cin >> x; sort(a.begin(), a.end()); sort(b.begin(), b.end()); vector<int> pref(n+1), suf(n+1); pref[0] = a[0].first - b[0]; suf[n] = a[n].first - b[n-1]; for(int i=1; i<n+1; i++) pref[i] = max({ pref[i-1], 0, a[i].first - b[i] }); for(int i=n-1; i>=1; i--) suf[i] = max({ suf[i+1], 0, a[i].first - b[i-1] }); for(int i=0; i<=n; i++) { int res = 0; if(i) res = pref[i-1]; if(i != n) res = max(res, suf[i+1]); ans[a[i].second] = res; } for(int &x : ans) cout << x << " "; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...