Submission #444905

#TimeUsernameProblemLanguageResultExecution timeMemory
444905erkeJust Long Neckties (JOI20_ho_t1)C++11
100 / 100
118 ms15428 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define ii pair<int,int>
#define fi first
#define sc second

const int N = 200005;

int b[N], l[N], r[N], res[N];
ii a[N];

signed main() {
  // freopen("in" , "r", stdin );
  cin.tie(0)->sync_with_stdio(0);
  int n; cin >> n;
  for (int i = 1; i <= n + 1; i++) {
    cin >> a[i].fi;
    a[i].sc = i;
  }
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
  }
  sort(a + 1, a + n + 2);
  sort(b + 1, b + n + 1);
  for (int i = 1; i <= n; i++) {
    l[i] = max(a[i].fi - b[i], l[i - 1]);
  }
  for (int i = n; i >= 1; i--) {
    r[i] = max(a[i + 1].fi - b[i], r[i + 1]);
  }
  for (int i = 1; i <= n + 1; i++) {
    res[a[i].sc] = max(l[i - 1], r[i]);
  }
  for (int i = 1; i <= n + 1; i++) {
    cout << res[i] << ' ';
  }
  cout << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...