Submission #879098

#TimeUsernameProblemLanguageResultExecution timeMemory
879098frostray8653Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
103 ms15548 KiB
#include <bits/stdc++.h> #define int long long #define IO ios::sync_with_stdio(0), cin.tie(0) #define FOR(i, a, b) for (int i = a, I = b; i <= I; i++) using namespace std; using pii = pair<int, int>; void dbg() {;} template<class T, class ...U> void dbg(T a, U ...b) { cout << a << " "; dbg(b...); } void ent() { cout << "\n"; } const int N = 200005; pii a[N]; int b[N]; int dp_f[N], dp_b[N]; int ans[N]; signed main() { IO; int n; cin >> n; FOR(i, 1, n + 1) { cin >> a[i].first; a[i].second = i; } FOR(i, 1, n) cin >> b[i]; sort(a + 1, a + (n + 1) + 1); sort(b + 1, b + n + 1); for (int i = 1; i <= n; i++) dp_f[i] = max(dp_f[i - 1], a[i].first - b[i]); for (int i = n + 1; i >= 2; i--) dp_b[i] = max(dp_b[i + 1], a[i].first - b[i - 1]); for (int i = 1; i <= n + 1; i++) { int res = max(dp_f[i - 1], dp_b[i + 1]); ans[a[i].second] = res; } for (int i = 1; i <= n + 1; i++) cout << ans[i] << " \n"[i == n + 1]; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...