Submission #676061

#TimeUsernameProblemLanguageResultExecution timeMemory
676061ToroTNGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++14
0 / 100
1 ms340 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long ll n,a[100005],l[100005],r[100005],hl[100005],hr[100005],ans; int main() { ios_base::sync_with_stdio(0),cin.tie(0); cin >> n; for(int i=1;i<=n;i++)cin >> a[i]; l[1]=0,hl[1]=a[1]; for(int i=2;i<=n;i++) { if(a[i]>hl[i-1]) { hl[i]=a[i]; l[i]=l[i-1]; }else { hl[i]=hl[i-1]+1; l[i]=l[i-1]+hl[i]-a[i]; } } r[n]=0,hr[n]=a[n]; for(int i=n-1;i>=1;i--) { if(a[i]>hr[i+1]) { hr[i]=a[i]; r[i]=r[i+1]; }else { hr[i]=hr[i+1]+1; r[i]=r[i+1]+hr[i]-a[i]; } } /*for(int i=1;i<=n;i++) { printf("%d ",l[i]); } printf("\n"); for(int i=1;i<=n;i++) { printf("%d ",r[i]); } printf("\n");*/ ans=min(hl[n]-hl[1],hr[1]-hr[n]); for(int i=1;i<n;i++)ans=min(ans,hl[i]+hr[i+1]-hl[1]-hr[n]); cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...