#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(v) v.begin(),v.end() #define ABS(x) ((x) < 0 ? -(x) : (x)) #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; const ld epsylon = 1e-9; typedef unsigned int ui; int main() { freopen("sortmach.in","r",stdin); freopen("sortmach.out","w",stdout); int n, k[101]; scanf("%d",&n); for (int i = 0; i < n; ++i) { scanf("%d",&k[i]); } int minRes = 1000000000; for (int i = 0; i < n; ++i) { int curRes = 0; for (int j = 0; j < n; ++j) { if (i == j) { continue; } int mult1 = ABS(i - j); int mult2 = i < j ? (n)+i-j : (n)+j-i; int mult = MIN(mult1,mult2); curRes += mult * k[j]; } minRes = MIN(minRes,curRes); } printf("%d\n",minRes); return 0; }