제출 #364223

#제출 시각아이디문제언어결과실행 시간메모리
364223Lam_lai_cuoc_doiJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
128 ms10860 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; using ull = unsigned long long; const bool typetest = 0; const int N = 2e5 + 5; int n, id[N], ans[N]; int a[N], b[N], s[N], p[N]; void Read() { cin >> n; for (int i = 1; i <= n + 1; ++i) cin >> a[i], id[i] = i; for (int i = 1; i <= n; ++i) cin >> b[i]; sort(b + 1, b + n + 1); sort(id + 1, id + n + 2, [&](const int &x, const int &y) { return a[x] < a[y]; }); sort(a + 1, a + n + 2); } void Solve() { for (int i = 1; i <= n; ++i) p[i] = max(p[i - 1], a[i] - b[i]); for (int i = n; i; --i) s[i] = max(s[i + 1], a[i + 1] - b[i]); for (int i = 1; i <= n + 1; ++i) ans[id[i]] = max(p[i - 1], s[i]); for (int i = 1; i <= n + 1; ++i) cout << ans[i] << " "; } int32_t main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t(1); if (typetest) cin >> t; for (int _ = 1; _ <= t; ++_) { Read(); Solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...