This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int maxN = 1e5;
long long h[maxN], slr[maxN], srl[maxN];
int main() {
int n;
cin >> n;
for ( int i = 1; i <= n; i++ )
cin >> h[i];
for ( int i = 1; i <= n; i++ )
slr[i] = slr[i - 1] + max( 0LL, h[i - 1] + 1 - h[i] );
for ( int i = n; i >= 1; i-- )
srl[i] = srl[i + 1] + max( 0LL, h[i + 1] + 1 - h[i] );
long long minS = LONG_LONG_MAX;
for ( int i = 1; i <= n; i++ ) {
long long s;
if ( h[i - 1] > h[i + 1] )
s = slr[i] + srl[i + 1];
else
s = slr[i - 1] + srl[i];
minS = min( minS, s );
}
cout << minS;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |