Gửi bài giải
Điểm:
0,10 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
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
Bình luận
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:
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.