| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1291531 | tunademayo | Growing Vegetables is Fun 4 (JOI21_ho_t1) | C++20 | 18 ms | 4336 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i, a, b) for(int i = a ; i <= b ; i++)
#define FORD(i, a, b) for(int i = a ; i >= b ; i--)
#define REP(i, a, b) for(int i = a ; i < b ; i++)
const bool Multitest = 0, Local = 0;
const int N = 2e5 + 10;
int a[N], n;
ll ans = 1e18, pref[N], suff[N];
void work()
{
cin >> n;
FOR(i, 1, n) cin >> a[i];
FOR(i, 2, n)
{
if(a[i] < a[i - 1] + 1)
{
pref[i] += a[i - 1] + 1 - a[i];
}
pref[i] += pref[i - 1];
}
FORD(i, n - 1, 1)
{
if(a[i] < a[i + 1] + 1)
{
suff[i] += a[i + 1] + 1 - a[i];
}
suff[i] += suff[i + 1];
}
FOR(i, 1, n) ans = min(ans, max(suff[i], pref[i]));
cout << ans;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int q = 1;
if(Local && fopen("code.inp", "r"))
{
freopen("code.inp", "r", stdin);
freopen("code.ans", "w", stdout);
}
if(Multitest) cin >> q;
while(q--) work();
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
