From 1042f508dda9b402bcfea6fb2e779087a0771bea Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Wed, 20 Nov 2024 15:20:54 +0800 Subject: [PATCH] update --- src/20241120/T541792.cpp | 49 +++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src/20241120/T541792.cpp b/src/20241120/T541792.cpp index dd28b6d..99babc5 100644 --- a/src/20241120/T541792.cpp +++ b/src/20241120/T541792.cpp @@ -1,51 +1,44 @@ #include using ll = int64_t; -using std::cin,std::cout; +using namespace std; const ll maxn{ll(2e5+5)},inf{ll(1)<<60}; -ll n,a[maxn],fl[maxn],fr[maxn],ans{inf},gl[maxn],gr[maxn]; +ll n,a[maxn],d[maxn],p[maxn],s[maxn],ans{inf}; template void pa(T *t){ for(ll i{1};i<=n;i++)cout< +void pa(T&&t,Args&&...args){ + pa(t); + pa(args...); +} int main(){ - std::iostream::sync_with_stdio(false),std::cin.tie(nullptr),std::cout.tie(nullptr); - + iostream::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>n; + for(ll i{1};i<=n;i++)cin>>a[i]; for(ll i{1};i<=n;i++){ - cin>>a[i]; - } - for(ll i{2};i<=n;i++){ - if(a[i-1]+fl[i-1]>=a[i]){ - fl[i]=fl[i-1]+(a[i-1]-a[i])+1; - } - gl[i]=gl[i-1]; - if(fl[i-1]=1;i--){ - if(a[i+1]+fr[i+1]>=a[i]){ - fr[i]=fr[i+1]+(a[i+1]-a[i])+1; - } - gr[i]=gr[i+1]; - if(fr[i+1]=1;i--){ + if(d[i]>=0){ + s[i]=s[i+1]+d[i]+1; + }else{ + s[i]=s[i+1]; } } - // pa(fl); - // pa(fr); - // pa(gl); - // pa(gr); + // pa(d,p,s); for(ll i{1};i<=n;i++){ - ans=std::min( - ans, - (gl[i]+gr[i]) - ); + ans=min(ans,max(p[i],s[i+1])); } cout<