Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
NKSEQ - Dãy số |
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
Được gửi lên bởi: | Jimmy |
Ngày: | 2007-12-07 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ADA95 ASM32 BASH BF C CSHARP CPP C99 CLPS LISP sbcl LISP clisp D FORTRAN HASK ICON ICK JAVA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON RUBY SCM guile SCM qobi ST TEXT WHITESPACE |
Nguồn bài: | VNOI Marathon '08 - Practice Round Source: Russian Winter Training Camp 2004 |