Đoạn con dài nhất tổng 0

Xem dưới dạng PDF

Gửi bài giải


Điểm: 1
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Kiểu bài tập

Cho mảng A gồm N số nguyên. Tìm độ dài đoạn con liên tiếp dài nhất có tổng bằng 0.

Sử dụng prefix sum kết hợp hash map: lưu vị trí xuất hiện đầu tiên của mỗi giá trị prefix. Khi gặp lại giá trị prefix đã thấy, đoạn giữa hai vị trí đó có tổng bằng 0. Cập nhật độ dài lớn nhất.

Đầu vào
  • Dòng đầu tiên chứa số nguyên N (1 ≤ N ≤ 10^5).
  • Dòng thứ hai chứa N số nguyên A_i (-10^9 ≤ A_i ≤ 10^9).
Đầu ra

Một số nguyên duy nhất là độ dài đoạn con dài nhất có tổng bằng 0. Nếu không có đoạn nào, in ra 0.

Ví dụ
Input:
8
1 2 -2 3 -3 4 -4 5

Output:
6
Giải thích

Đoạn [2, -2, 3, -3, 4, -4] (vị trí 2..7) có tổng bằng 0, độ dài 6.


Nhận xét

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