Submission #1316119

#TimeUsernameProblemLanguageResultExecution timeMemory
1316119pobeJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
84 ms13388 KiB
#include <bits/stdc++.h> #define int long long using namespace std; ostream &operator <<(ostream &out, vector <int> val) { for (auto v : val) { out << v << ' '; } return out; } void solve() { int n; cin >> n; vector <pair <int, int>> val(n + 1); for (int i = 0; i <= n; ++i) { cin >> val[i].first; val[i].second = i; } sort(val.begin(), val.end()); vector <int> cur(n); for (int i = 0; i < n; ++i) { cin >> cur[i]; } sort(cur.begin(), cur.end()); vector <int> prev(n + 1, 0), suf(n + 1, 0); for (int i = 0; i < n; ++i) { prev[i + 1] = max(prev[i], max(0LL, val[i].first - cur[i])); } for (int i = n - 1; i >= 0; --i) { suf[i] = max(suf[i + 1], max(0LL, val[i + 1].first - cur[i])); } vector <pair <int, int>> ans{}; for (int i = 0; i < n + 1; ++i) { ans.emplace_back(val[i].second, max(prev[i], suf[i])); } sort(ans.begin(), ans.end()); for (auto v : ans) { cout << v.second << ' '; } cout << '\n'; } signed main() { cin.tie(0); ios::sync_with_stdio(false); int t = 1; solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...