Problem
https://vn.spoj.com/problems/NKSEQ
https://oj.vnoi.info/problem/NKSEQ
Cho dãy số nguyên a1, a2, …, an (1≤ n≤ 100000), mỗi số không vượt qúa 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:
aj, aj+1,…, an, a1, a2, …, aj–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:
- aj > 0
- aj + aj+1 > 0
- ….
- aj + aj+1 + … + an > 0
- aj + aj+1 + … + an + a1 > 0
- …
- aj + aj+1 + … + an + a1 + a2 + … + aj─2 > 0
- aj + aj+1 + … + an + a1 + a2 + … + aj─2 + aj─1 > 0
Yêu cầu: hãy đếm số vị trí tốt.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên n.
- Dòng thứ 2 chứa dãy số a1, a2,…,an.
Kết qủa
In ra 1 số nguyên duy nhất là số vị trí tốt.
Ví dụ
**Dữ liệu mẫu**
5
0 1 -2 10 3
**Kết qủa**
2
Tutorial
Submission
NKSEQ.cpp