Submission #535740

#TimeUsernameProblemLanguageResultExecution timeMemory
535740abc864197532Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
136 ms5332 KiB
#include <bits/stdc++.h> using namespace std; #define lli long long int #define mp make_pair #define eb emplace_back #define pb push_back #define pii pair<int,int> #define X first #define Y second #define all(x) x.begin(), x.end() void abc() {cout << endl;} template <typename T, typename ...U> void abc(T i, U ...j) { cout << i << ' ', abc(j...); } template <typename T> void printv(T l, T r) { for (; l != r; ++l) cout << *l << " \n"[l + 1 == r]; } #ifdef Doludu #define test(x...) abc("[" + string(#x) + "]", x) #define owo freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout) #else #define test(x...) void(0) #define owo ios::sync_with_stdio(false), cin.tie(0) #endif int main () { owo; int n; cin >> n; vector <int> a(n + 1), b(n); for (int i = 0; i <= n; ++i) cin >> a[i]; for (int i = 0; i < n; ++i) cin >> b[i]; vector <int> p(n + 1); iota(all(p), 0); sort(all(p), [&](int i, int j) { return a[i] < a[j]; }); sort(all(a)), sort(all(b)); vector <int> ans(n + 1); int now = 0; for (int i = 1; i <= n; ++i) { now = max(now, a[i - 1] - b[i - 1]); ans[p[i]] = max(ans[p[i]], now); } now = 0; for (int i = n - 1; i >= 0; --i) { now = max(now, a[i + 1] - b[i]); ans[p[i]] = max(ans[p[i]], now); } printv(all(ans)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...