/* -*- coding: utf-8 -*- * * 1505.cc: No.1505 Zero-Product Ranges - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 200000; /* typedef */ typedef long long ll; /* global variables */ int as[MAX_N]; /* subroutines */ /* main */ int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", as + i); ll sum = (ll)n * (n + 1) / 2; for (int i = 0; i < n;) { while (i < n && as[i] == 0) i++; if (i >= n) break; int j = i; while (i < n && as[i] == 1) i++; int l = i - j; sum -= (ll)l * (l + 1) / 2; } printf("%lld\n", sum); return 0; }