20PTS
#include <bits/stdc++.h>
using namespace std;
int n, a[100010], sum, s, maxx = 1000000000, ans = 0, q = 0, s1;
int main() {
long long ans = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
sum = sum + a[i];
if (maxx >= sum - i) {
maxx = sum - i;
s1 = i;
}
}
if (s1 > n) {
s1 %= n;
}
s = s1 + 1;
int i = s;
for (;; i++) {
if (i > n) {
i %= n;
}
// q=i;
while (a[i]) {
s++;
a[i]--;
if (s > i) {
ans += (s - i - 1) * (s - i - 1);
} else {
ans += (s + n - i - 1) * (s + n - i - 1);
}
if (s > n) {
s %= n;
}
}
if (s > n) {
s %= n;
}
if (i == s1) {
break;
}
}
printf("%lld", ans);
return 0;
}