Submission #1148602

#TimeUsernameProblemLanguageResultExecution timeMemory
1148602WH8Growing Vegetables is Fun 4 (JOI21_ho_t1)C++20
100 / 100
50 ms5108 KiB
#include <bits/stdc++.h>

using namespace std;
#define int long long 
#define f first
#define s second
#define pb push_back
#define ld long double
#define pll pair<int, int>

signed main(){
	int n; 
	cin >> n;
	int a[n], b[n], v[n], pv; 
	for(int i=0;i<n;i++){
		a[i]=b[i]=0;
		cin>>v[i];
	}
	pv=v[0];
	for(int i=1;i<n;i++){
		int t=pv+1;
		a[i]=a[i-1];
		a[i]+=max(0ll, t-v[i]-a[i-1]);
		pv = max(t, v[i]+a[i]);
	}
	pv=v[n-1];
	for(int i=n-2;i>=0;i--){
		int t=pv+1;
		b[i]=b[i+1];
		b[i]+=max(0ll, t-v[i]-b[i+1]);
		pv = max(t, v[i]+b[i]);
	}
	//~ for(int i=0;i<n;i++){
		//~ cout<<a[i]<<" "<<b[i]<<endl;
	//~ }
	int ans=LLONG_MAX;
	for(int i=0;i<n;i++){
		ans=min(ans,max(a[i],b[i]));
	}
	cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...