fork download
  1. #include<stdio.h>
  2. int a[1212],na[1212],d[1212],nd[1212];
  3. int main() {
  4. int n, i, j;
  5. scanf("%d", &n);
  6. for (i = 0; i < n; i++)scanf("%d", &a[i]);
  7. for (i = 0; i < 2*n; i++) {
  8. for (j = 0; j < n; j++) {
  9. if (a[j]&&!a[(j + 1) % n]) {
  10. na[(j + 1) % n] = 1;
  11. na[j] = a[j] - 1;
  12. nd[(j + 1) % n] = d[j] + 1;
  13. }
  14. else if(a[j])na[j] = a[j], nd[j]=d[j];
  15. }
  16. for (j = 0; j < n; j++) {
  17. a[j] = na[j];
  18. d[j] = nd[j];
  19. }
  20. }
  21. long long ans = 0;
  22. for (i = 0; i < n; i++)ans += d[i] * d[i];
  23. printf("%d", ans);
  24. return 0;
  25. }
Success #stdin #stdout 0s 4332KB
stdin
10
1
0
0
2
0
0
1
2
2
2
stdout
33