제출 #1331606

#제출 시각아이디문제언어결과실행 시간메모리
1331606tkm_algorithmsGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
100 / 100
17 ms5076 KiB

#include <bits/stdc++.h>

using namespace std;
using ll = long long;
#define int ll
using P = pair<int, int>;
#define all(x) x.begin(), x.end()
#define rep(x,s,e) for (auto x=(s)-((s)>(e));x!=(e)-((s)>(e));((s)<(e)?x++:x--))
#define sz(x) (int)x.size()
const char nl = '\n';
const int mod = 998244353;
const int inf = 1e9*2e5+4e10;

void solve() {
	int n; cin >> n;
	vector<int> a(n+1);
	rep(i, 1, n+1)cin >> a[i];
	
	vector<int> p(n+1), s(n+1);
	rep(i, 2, n+1)
		p[i] = p[i-1]+max(a[i-1]-a[i]+1, 0ll);
	
	rep(i, n, 1)
		s[i] = s[i+1]+max(a[i+1]-a[i]+1, 0ll);
	//s[0] = s[1];
	int res = inf;
	rep(i, 1, n+1) {
		res = min(res, max(p[i], s[i]));
		//if (max(p[i-1], s[i]) == 2)cout << i << nl;
	}
	cout << res << nl;
}

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...