Submission #390744

#TimeUsernameProblemLanguageResultExecution timeMemory
390744timmyfengJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
107 ms7876 KiB
#include <bits/stdc++.h> using namespace std; const int N = 200001; int a[N], b[N], order[N], prefix[N], suffix[N], ans[N]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; for (int i = 0; i < n + 1; ++i) { cin >> a[i]; } for (int i = 0; i < n; ++i) { cin >> b[i]; } iota(order, order + n + 1, 0); sort(order, order + n + 1, [&](int i, int j) { return a[i] < a[j]; }); sort(b, b + n); for (int i = 0; i < n; ++i) { prefix[i + 1] = max(prefix[i], a[order[i]] - b[i]); } for (int i = n; i > 0; --i) { suffix[i - 1] = max(suffix[i], a[order[i]] - b[i - 1]); } for (int i = 0; i < n + 1; ++i) { ans[order[i]] = max(prefix[i], suffix[i]); } for (int i = 0; i < n + 1; ++i) { cout << ans[i] << " "; } cout << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...