Submission #626450

#TimeUsernameProblemLanguageResultExecution timeMemory
626450Abrar_Al_SamitJust Long Neckties (JOI20_ho_t1)C++17
0 / 100
0 ms212 KiB
#include<bits/stdc++.h>
using namespace std;

void PlayGround() {
  int n;
  cin>>n;
  vector<pair<int,int>>a(n+1);
  for(int i=0; i<n+1; i++) {
    cin>>a[i].first;
    a[i].second = i;
  }  
  sort(a.begin(), a.end());
  int b[n];
  for(int i=0; i<n; ++i) {
    cin>>b[i];
  }
  sort(b, b+n);

  int ans[n+1] = {0};
  int pre[n+1] = {0}, suf[n+1] = {0};

  for(int i=0; i<n; ++i) {
    int strangeness = max(0, a[i+1].first-b[i]);
    pre[i] = max(pre[i], strangeness);

    strangeness = max(0, a[i].first-b[i]);
    suf[i+1] = max(suf[i+1], strangeness);
  }
  for(int i=n; i>-1; --i) {
    if(i<n) pre[i] = max(pre[i+1], pre[i]);
    ans[i] = max(ans[a[i].second], pre[i]);
  }

  for(int i=0; i<=n; ++i) {
    if(i) suf[i] = max(suf[i], suf[i-1]);
    ans[i] = max(ans[a[i].second], suf[i]);
  }
  for(int i=0; i<n+1; ++i) {
    cout<<ans[i]<<' ';
  }
  cout<<'\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  PlayGround();
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...