제출 #850862

#제출 시각아이디문제언어결과실행 시간메모리
850862dungzGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++17
0 / 100
1 ms2396 KiB
//#pragma GCC optimize ("O2") #include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define endl '\n' #define task "task" #define task "task" #define prll pair<ll,ll> #define pb push_back #define ld long double const ll MIN=-1e18,MAX=1e18,MOD=1e9+7,nmax=200005; ll a[nmax],cost1[nmax],cost2[nmax]; int main(){ //freopen (task".inp", "r", stdin); //freopen (task".out", "w", stdout); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=2;i<=n;i++) { if(a[i]<=a[i-1]) { cost1[i]=cost1[i-1]+a[i-1]-a[i]+1; } else { cost1[i]=cost1[i-1]; } } for(int i=n-1;i>=1;i--) { if(a[i]<=a[i+1]) { cost2[i]=cost2[i+1]+a[i+1]-a[i]+1; } else { cost2[i]=cost2[i+1]; } } ll ans=MAX; for(int i=0;i<=n;i++) { ans=min(ans,max(cost1[i],cost2[i+1])); } cout<<ans; } /* 8 12 2 34 85 4 91 29 85 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...