이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |