Treasure Subarray

Xem dưới dạng PDF

Gửi bài giải


Điểm: 6
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 64M
đầu vào: TREASURE.INP
Đầu ra: TREASURE.OUT

Tác giả:
Kiểu bài tập

Thám tử An đang truy tìm một kho báu bị nguyền rủa. Trên bản đồ kho báu có một dãy gồm N ô vuông, mỗi ô ghi một số nguyên (có thể âm). Truyền thuyết kể rằng: tổng giá trị của một đoạn ô liên tiếp đúng bằng con số K thì phía dưới đoạn ô đó có chứa một phần của kho báu.

An muốn biết có bao nhiêu đoạn ô liên tiếp (khác nhau về vị trí bắt đầu hoặc kết thúc) có tổng đúng bằng K, để lập kế hoạch đào bới toàn diện.

Yêu cầu

Cho dãy N số nguyên \(a_1, a_2, \dots, a_N\). Hãy đếm số cặp \((l, r)\) với \(1 \le l \le r \le N\) sao cho tổng \(a_l + a_{l+1} + \dots + a_r = K\).

Dữ liệu vào

Đọc từ file TREASURE.INP:

  • Dòng thứ nhất chứa hai số nguyên NK (\(1 \le N \le 2 \times 10^5; −10^9 \le K \le 10^9\)).
  • Dòng thứ hai chứa N số nguyên \(a_1, a_2, \dots, a_N\) (\(−10^9 \le a_i \le 10^9\)), mỗi số cách nhau bởi dấu cách.

Dữ liệu ra

Ghi ra file TREASURE.OUT:

  • Một số nguyên duy nhất là số đoạn con có tổng bằng K.

Ví dụ

Ví dụ 1:

TREASURE.INP TREASURE.OUT
\(`5 2`<br > `1 1 1 1 1`\) 4

Giải thích: Các đoạn [1,2], [2,3], [3,4], [4,5].

Ví dụ 2:

TREASURE.INP TREASURE.OUT
\(`4 0`<br > `1 -1 1 -1`\) 4

Giải thích: Các đoạn [1,2], [2,3], [3,4], [1,4].

Subtask

  • **Subtask 1 (40% số điểm):\(1 \le N \le 10^{3}, các số đều không âm\).
  • **Subtask 2 (60% số điểm):\(1 \le N \le 2 \times 10^5, có thể có số âm\).

Nhận xét

Không có ý kiến tại thời điểm này.