[HSG_DB_24] Đếm dãy con liên tiếp

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Cho dãy số ~A~ có ~n~ số nguyên ~a_1, a_2, ..., a_n~. Một dãy con liên tiếp các số hạng của dãy ~A~ là dãy các số hạng từ số hạng ~a_i~ đến số hạng ~a_j~ ~(1 \le i \le j \le n)~.

Yêu cầu

Hãy cho biết dãy ~A~ có bao nhiêu dãy con liên tiếp mà giá trị tuyệt đối của tổng các số hạng trong dãy con đó lớn hơn một số nguyên dương ~S~ cho trước.

Dữ liệu đầu vào

Gồm hai dòng:

  • Dòng thứ nhất chứa hai số nguyên dương ~n~ và ~S~ ~(n \le 10^5,\ S \le 10^{14})~;
  • Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ ~(|a_i| \le 10^9)~. Hai số liên tiếp trên cùng dòng được ghi cách nhau bởi dấu cách.

Dữ liệu đầu ra

Gồm một số nguyên duy nhất là số dãy con liên tiếp thỏa mãn yêu cầu của bài toán.

Ràng buộc dữ liệu

  • Có 50% số test ứng với 50% số điểm của bài có ~n \le 100~;
  • Có 30% test khác ứng với 30% số điểm của bài có ~n \le 10^3~;
  • Có 20% test còn lại ứng với 20% số điểm của bài có ~n \le 10^5~.

Ví dụ

Ví dụ 1
INPUT
4 4
5 -1 8 -5
OUTPUT
6

Giải thích: Có ~6~ dãy con thỏa mãn yêu cầu là: ~\{5\}, \{8\}, \{-5\}, \{-1; 8\}, \{5; -1; 8\}, \{5; -1; 8; -5\}~.

Ví dụ 2
INPUT
10 7
-4 9 2 -11 -3 8 -6 5 -3 1
OUTPUT
12

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.