Submission #1319470

#TimeUsernameProblemLanguageResultExecution timeMemory
1319470murad_mirzebeyliGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
100 / 100
17 ms4920 KiB
#include <bits/stdc++.h> #define endl '\n' #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define F first #define S second #define pf push_front #define pb push_back #define ll long long #define ull unsigned long long #define ld long double #define int long long #define vi vector <int> #define pii pair <int,int> #define tiii tuple<int,int,int> #define yes cout << "Yes" << endl #define no cout << "No" << endl #define YES cout << "YES" << endl #define NO cout << "NO" << endl #define out(v) for (auto x:v) cout << x << ' ' #define out1(v) for (auto x:v) cout << x << endl #define inp(arr) for (int i=0;i<arr.size();i++) cin>>arr[i] const int MAX=1e6; const int MOD=1e9+7; using namespace std; const int inf=1e18; void solve(){ int n; cin>>n; vi arr(n+1),pref(n+1,0),suf(n+1,0); for(int i=1;i<=n;i++){ cin>>arr[i]; } for(int i=2;i<=n;i++){ if(arr[i]<=arr[i-1]){ pref[i]=pref[i-1]+arr[i-1]-arr[i]+1; } else pref[i]=pref[i-1]; } for(int i=n-1;i>=1;i--){ if(arr[i]<=arr[i+1]){ suf[i]=suf[i+1]+arr[i+1]-arr[i]+1; } else suf[i]=suf[i+1]; } int ans=inf; for(int i=1;i<=n;i++){ ans=min(ans,max(suf[i],pref[i])); } cout<<ans<<endl; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(nullptr); int t=1; //cin>>t; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...