제출 #440750

#제출 시각아이디문제언어결과실행 시간메모리
440750idontreallyknowJust Long Neckties (JOI20_ho_t1)C++17
0 / 100
1 ms332 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define fi first #define se second #define SZ(x) ((int)((x).size())) #define debug(x) cerr << #x << " = " << x << '\n' const int mx = 2e5+50; int a[mx], b[mx], c[mx], pref[mx], suff[mx], ord[mx]; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<pii> stuff; for (int q = 1; q <= n+1; q++) { cin >> a[q]; stuff.emplace_back(a[q],q); c[q] = a[q]; } sort(c+1,c+n+2); sort(stuff.begin(), stuff.end()); for (int q = 0; q < SZ(stuff); q++) ord[stuff[q].se] = q+1; for (int q = 1; q <= n; q++) cin >> b[q]; sort(b+1,b+n+1); for (int q = 1; q <= n; q++) pref[q] = max(pref[q-1], max(0,c[q]-b[q])); for (int q = n+1; q >= 2; q--) suff[q] = max(suff[q+1], max(0,c[q]-b[q-1])); for (int q = 2; q <= n+1; q++) cout << suff[q] << ' '; cout << '\n'; for (int q = 1; q <= n+1; q++) { cout << max(pref[ord[q]-1], suff[ord[q]+1]) << ' '; } cout << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...