Submission #765638

#TimeUsernameProblemLanguageResultExecution timeMemory
765638NK_Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
78 ms10828 KiB
// Success consists of going from failure to failure without loss of enthusiasm #include <bits/stdc++.h> using namespace std; #define nl '\n' template<class T> using V = vector<T>; const int INF = int(1e9) + 10; int main() { cin.tie(0)->sync_with_stdio(0); int N; cin >> N; int cur = 0; V<array<int, 2>> A(N + 1); for(auto& x : A) { cin >> x[0]; x[1] = cur++; } V<int> B(N); for(auto& x : B) cin >> x; sort(begin(A), end(A)); sort(begin(B), end(B)); V<int> P(N + 1, 0); for(int i = 0; i < N; i++) P[i] = max(A[i][0] - B[i], (i-1 >= 0 ? P[i-1] : 0)); V<int> S(N + 1, 0); for(int i = N; i >= 1; i--) S[i] = max(A[i][0] - B[i-1], (i+1 <= N ? S[i+1] : 0)); // for(auto x : P) cout << x << " "; // cout << nl; // for(auto x : S) cout << x << " "; // cout << nl; V<int> ans(N + 1); for(int i = 0; i <= N; i++) { int I = A[i][1]; if (i-1 >= 0) ans[I] = max(ans[I], P[i - 1]); if (i+1 <= N) ans[I] = max(ans[I], S[i + 1]); } for(auto x : ans) cout << x << " "; cout << nl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...