Submission #854242

#TimeUsernameProblemLanguageResultExecution timeMemory
854242LeVanThucJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
73 ms14080 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define p(x,y) pair<ll,ll>(x,y) #define BIT(i,x) ((x>>i)&1) #define MASK(x) (1<<x) #define ld long double #define __builtin_popcount __builtin_popcountll #define pll pair<ll,ll> template<class T1,class T2> bool maximize(T1 &x,const T2 &y) { if(x<y) { x=y; return 1; } return 0; } template<class T1,class T2> bool minimize(T1 &x,const T2 &y) { if(x>y) { x=y; return 1; } return 0; } void online() { std::ios_base::sync_with_stdio(0); cin.tie(0); #ifdef thuc freopen("input.INP","r",stdin); freopen("output.OUT","w",stdout); #endif } const ll N=2e5+10,inf=1e18; pll a[N]; ll b[N],f[N],n,ans[N]; int main() { online(); 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+n+2); sort(b+1,b+n+1); for(int i=n+1;i>=2;i--) { f[i]=a[i].fi-b[i-1]; f[i]=max(f[i],f[i+1]); } ans[a[1].se]=f[2]; ll cr=0; for(int i=1;i<=n;i++) { maximize(cr,a[i].fi-b[i]); ans[a[i+1].se]=max(cr,f[i+2]); } for(int i=1;i<=n+1;i++) { cout<<ans[i]<<' '; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...