# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1275048 | nthvn | Growing Vegetables is Fun 4 (JOI21_ho_t1) | C++20 | 20 ms | 5116 KiB |
#include "bits/stdc++.h"
using namespace std;
#define LOG(n) (63 - __builtin_clzll((n)))
#define fi first
#define se second
#define pii pair<int,int>
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define pb push_back
#define ll long long
const int N = 2e5+5;
int n,a[N];
ll f[N],g[N];
int d[N];
void precalc(){
for(int i=1;i<n;i++) d[i] = a[i+1]-a[i];
for(int i=1;i<n;i++){
f[i] = f[i-1];
if(d[i]<=0) f[i]+= -d[i] + 1;
}
for(int i=n-1;i>=1;i--){
g[i]= g[i+1];
if(d[i]>=0) g[i]+= d[i]+1;
}
}
signed main(){
ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
if(fopen("TASK.INP", "r")){
freopen("TASK.INP", "r", stdin);
freopen("TASK.OUT", "w", stdout);
}
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
precalc();
ll ans = 1e17;
for(int i=0;i<n;i++){
ans= min(ans, max(f[i],g[i+1]));
}
cout<<ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |