#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; int ans = 1e9; const int start = 0; for (int len = 0; start + 2 * len < n; ++len) { int over = 0, less = 0; rep(i, n) { if (i < start || i > start + 2 * len) { over += a[i]; } else { int height = (len + 1) - abs((start + len) - i); less += max(0, height - a[i]); over += max(0, a[i] - height); } } if (less > over) continue; ans = min(ans, over); } cout << ans << endl; return 0; }