Submission #1277343

#TimeUsernameProblemLanguageResultExecution timeMemory
1277343LmaoLmaoJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
67 ms11792 KiB
#include<bits/stdc++.h>
#define int long long
#define fi first
#define se second

using namespace std;
using ll = long long;
using ii = pair<int,int>;
using aa = array<int,3>; 

ii a[200005];
int b[200005];

int ans[200005];
int pre[200005];
int suf[200005];

signed main() 
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    int n;
    cin >> n;
    for(int i=1;i<=n+1;i++) {
      cin >> a[i].fi;
      a[i].se=i;
    }
    for(int i=1;i<=n;i++) {
      cin >> b[i]; 
    }
    sort(a+1,a+2+n); 
    sort(b+1,b+1+n);
    for(int i=1;i<=n;i++) {
      pre[i]=max(pre[i-1],max(a[i].fi-b[i],0LL)); 
    }
    for(int i=n+1;i>1;i--) {
      suf[i]=max(suf[i+1],max(a[i].fi-b[i-1],0LL));
    }
    for(int i=1;i<=n+1;i++) {
      ans[a[i].se]=max(pre[i-1],suf[i+1]); 
    }
    for(int i=1;i<=n+1;i++) {
      cout << ans[i] << '\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...