Submit solution
Points:
0.10 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho dãy số nguyên a1, a2, ..., an (~1 \leq n \leq 100000~), 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}~,..., ~a_{n}~, ~a_1~, ~a_2~, ..., ~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
- ....
- ~a_{j}~ + ~a_{j+1}~ + ... + ~a_{n}~ ~>~ 0
- ~a_{j}~ + ~a_{j+1}~ + ... + ~a_{n}~ + ~a_1~ ~>~ 0
- ...
- ~a_{j}~ + ~a_{j+1}~ + ... + ~a_{n}~ + ~a_1~ + ~a_2~ + ... + ~a_{j─2}~ ~>~ 0
- ~a_{j}~ + ~a_{j+1}~ + ... + ~a_{n}~ + ~a_1~ + ~a_2~ + ... + ~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~,...,~a_{n}~.
Output
- In ra 1 số nguyên duy nhất là số vị trí tốt.
Sample Input
5
0 1 -2 10 3
Sample Output
2
Comments
Bạn nào dùng Segment Tree + prefixSum nhưng cứ bị sai test 2, 11, 15, 16, 18, 19, 20, 21 thì là do Segment Tree của bạn khởi tạo bị thiếu phần tử nhé. Do mảng A cũng như mảng PrefixSum độ dài 2 * MaxN. Vậy Segment Tree phải có độ dài 4 * 2 * MaxN mới đủ chứa mảng F
Hint
Solution:
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.