Submission #1281431

#TimeUsernameProblemLanguageResultExecution timeMemory
1281431shirokitoJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
196 ms14788 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 2e5 + 24; struct Data { int v, i; bool operator < (Data &oth) { return v < oth.v; } } a[N]; int n, b[N], ans[N]; void solve() { cin >> n; for (int i = 1; i <= n + 1; i++) { cin >> a[i].v; a[i].i = i; } for (int i = 1; i <= n; i++) { cin >> b[i]; } sort(a + 1, a + n + 2); sort(b + 1, b + n + 1); multiset<int> s; for (int i = 1; i <= n; i++) { s.insert({a[i].v - b[i]}); } ans[a[n + 1].i] = *s.rbegin(); for (int i = n; i >= 1; i--) { s.erase(s.find({a[i].v - b[i]})); s.insert({a[i + 1].v - b[i]}); ans[a[i].i] = *s.rbegin(); } for (int i = 1; i <= n + 1; i++) { cout << ans[i] << " \n" [i == n + 1]; } } int main() { cin.tie(0) -> sync_with_stdio(0); int T = 1; // cin >> T; while (T--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...