제출 #443205

#제출 시각아이디문제언어결과실행 시간메모리
443205FidiskJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
136 ms18612 KiB
#include <bits/stdc++.h> using namespace std; #define oo 1e15 #define fi first #define se second #define sp(iiii) setprecision(iiii) #define IO ios_base::sync_with_stdio(false); cin.tie(0) #define ms(aaaa,xxxx) memset(aaaa,xxxx,sizeof(aaaa)) #define cntbit(xxxx) __builtin_popcount(xxxx) #define getbit(xxxx,aaaa) (((xxxx)>>(aaaa-1))&1) typedef long double ld; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef pair<pair<int,int>,int> piii; typedef pair<pair<int,int>,pair<int,int>> piiii; typedef pair<long long,long long> pll; typedef pair<pair<long long,long long>,long long> plll; typedef pair<pair<long long,long long>,pair<long long,long long>> pllll; typedef pair<pair<long long,long long>,bool> pllb; typedef pair<long double,long double> pld; typedef pair<pair<long double,long double>,long double> plld; const ll base=2e9+4257; //const ll mod=1e9+7; const ll mod2=1e9+4233; const ld eps=1e-12; const ll maxn=1e16; const ld pi=acos(-1); const ll delta=1e5+7; const int dx[4]={1,-1,0,0}; const int dy[4]={0,0,1,-1}; ll n,i,ans[500009],f[500009],f2[500009],pre[500009],suf[500009],b[500009]; pll a[500009]; int main(){ IO; cin>>n; for (i=1;i<=n+1;i++) { cin>>a[i].fi; a[i].se=i; } for (i=1;i<=n;i++) { cin>>b[i]; } sort(a+1,a+n+2); sort(b+1,b+n+1); for (i=1;i<=n;i++) { f[i]=a[i].fi-b[i]; f2[i]=a[i+1].fi-b[i]; } for (i=1;i<=n;i++) { pre[i]=max(pre[i-1],f[i]); } for (i=n;i>=1;i--) { suf[i]=max(suf[i+1],f2[i]); } for (i=1;i<=n+1;i++) { ans[a[i].se]=max(pre[i-1],suf[i]); } for (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...