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 N và K (\(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