#PS0000009. Đếm đoạn có tổng K (Count Interval)

Đếm đoạn có tổng K (Count Interval)

Đếm đoạn có tổng K (Count Interval)

Nguồn: AtCoder

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho dãy số nguyên

A1,A2,…,ANA_1,A_2,\ldots,A_N

và số nguyên KK.

Hãy đếm số cặp chỉ số (l,r)(l,r) thỏa

1≤l≤r≤N1\le l\le r\le N

và tổng của đoạn liên tiếp từ ll đến rr bằng đúng KK:

Al+Al+1+⋯+Ar=K.A_l+A_{l+1}+\cdots+A_r=K.

Input

  • Dòng đầu chứa hai số nguyên N,KN,K.
  • Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1,A_2,\ldots,A_N.

Output

In số cặp (l,r)(l,r) thỏa mãn điều kiện.

Subtask

Điều kiện chung đã đối chiếu với nguồn:

  • 1≤N≤2⋅1051\le N\le2\cdot10^5

  • ∣Ai∣≤109|A_i|\le10^9

  • ∣K∣≤1015|K|\le10^{15}

  • Subtask 1 — 20%: N≤40N\le40

  • Subtask 2 — 30%: N≤3000N\le3000.

  • Subtask 3 — 50%: không có điều kiện bổ sung ngoài các điều kiện chung ở trên.

Ví dụ

Input

6 5
8 -3 5 7 0 -4

Output

3

Giải thích

Với K=5K=5 và dãy

[8,−3,5,7,0,−4],[8,-3,5,7,0,-4],

ba đoạn có tổng bằng 55 là:

  • [1,2][1,2]: 8−3=58-3=5;
  • [2,6][2,6]: −3+5+7+0−4=5-3+5+7+0-4=5;
  • [3,3][3,3]: phần tử duy nhất bằng 55.

Do đó đáp án là 33.