NKSEQ - Dãy số

Giới hạn
  • Thời gian: 0.115s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

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


  • Người up: paulmcvn
  • Nguồn bài: VNOI Marathon '08 - Practice RoundSource: Russian Winter Training Camp 2004