Submission #1167612

#TimeUsernameProblemLanguageResultExecution timeMemory
1167612chikien2009Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
61 ms6984 KiB
#include <bits/stdc++.h> using namespace std; inline void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, b[200000], pre[200000], suf[200000], res[200001]; pair<int, int> a[200001]; int main() { setup(); cin >> n; for (int i = 0; i < n + 1; ++i) { cin >> a[i].first; a[i].second = i; } for (int i = 0; i < n; ++i) { cin >> b[i]; } sort(a, a + n + 1); sort(b, b + n); for (int i = 0; i < n; ++i) { pre[i] = max((i == 0 ? 0 : pre[i - 1]), a[i].first - b[i]); } for (int i = n - 1; i >= 0; --i) { suf[i] = max((i == n - 1 ? 0 : suf[i + 1]), a[i + 1].first - b[i]); } for (int i = 0; i <= n; ++i) { if (i == 0) { res[a[i].second] = suf[0]; } else if (i == n) { res[a[i].second] = pre[n - 1]; } else { res[a[i].second] = max(pre[i - 1], suf[i]); } } for (int i = 0; i <= n; ++i) { cout << res[i] << " "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...