#include #include #include #include using namespace std; using namespace atcoder; using namespace __gnu_pbds; using ll=long long; using ld=long double; using vll=vector; using vvll=vector; using pll=pair; // using mint=modint; // template // using ordered_map=tree,rb_tree_tag,tree_order_statistics_node_update>; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll N,S=0; cin>>N; vll A(N+1); for(int i=1;i<=N;++i)cin>>A[i],S+=A[i]; ll ans=S; //1,2,...,m,...,2,1を全探索 for(int m=1;m<=N&&m*m<=S;++m){ ll extra=0; for(int i=1;i<=m;++i){ if(i<=N&&A[i]>i)extra+=A[i]-i; } for(int i=m+1;i<=2*m-1;++i){ int j=2*m-i; if(i<=N&&A[i]>j)extra+=A[i]-j; } for(int i=2*m;i<=N;++i)extra+=A[i]; ans=min(ans,extra); } cout<