Dãy số

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \le n \le 10^5\)), mỗi số không vượt quá \(10000\). Dãy số này được viết trên một vòng tròn. Nghĩa là, khi cắt vòng tròn tại vị trí \(j\), ta thu được:

\(a_j, a_{j+1}, \dots, a_n, a_1, a_2, \dots, a_{j-1}\)

Vị trí \(j\) được gọi là vị trí tốt, nếu các điều kiện sau đây được thỏa mãn:

  • \(a_j > 0\)
  • \(a_j + a_{j+1} > 0\)
  • \(\dots\)
  • \(a_j + a_{j+1} + \dots + a_n > 0\)
  • \(a_j + a_{j+1} + \dots + a_n + a_1 > 0\)
  • \(\dots\)
  • \(a_j + a_{j+1} + \dots + a_n + a_1 + a_2 + \dots + a_{j-2} > 0\)
  • \(a_j + a_{j+1} + \dots + a_n + a_1 + a_2 + \dots + a_{j-2} + a_{j-1} > 0\)

Yêu cầu: Hãy đếm số vị trí tốt.

Input

  • Dòng đầu tiên chứa số nguyên \(n\).
  • Dòng thứ \(2\) chứa dãy số \(a_1, a_2, \dots, a_n\).

Output

  • In ra \(1\) số nguyên duy nhất là số vị trí tốt.

Constraints

  • \(1 \le n \le 10^5\)
  • \(|a_i| \le 10^4\)

Example

Test 1

Input
5
0 1 -2 10 3
Output
2

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.