Bài 2. Đoạn 0

Xem dưới dạng PDF

Gửi bài giải

Điểm: 5
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: SZERO.INP
Output: SZERO.OUT

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, Sed, Text

Cho dãy số nguyên \(A = (a_1, a_2, \ldots, a_n) (1 \le n \le 10^5;-10^6 \le a_i \le 10^6, \forall i \in [1, n]) \). Hãy tìm một đoạn dài nhất gồm các phần tử liên tiếp trong dãy \(A: (a_L, a_{L+1}, \ldots, a_H)\) sao cho tổng bằng \(0\).


Dữ liệu vào

Đọc từ file SZERO.INP:

  • Dòng 1: Chứa số \(n\),
  • Dòng 2: Chứa \(n\) số \(a_1, a_2, \ldots, a_n\) theo đúng thứ tự cách nhau ít nhất một dấu cách.

Kết quả

Ghi ra file SZERO.OUT:

  • Một dòng duy nhất ghi hai số nguyên \(L, H\) cách nhau ít nhất một dấu cách.
  • Đoạn \([L, H]\) là đoạn dài nhất có tổng bằng \(0\).

Ví dụ

SZERO.INP

9
2 7 5 -3 -2 4 -9 -2 1

SZERO.OUT

2 8

Ghi chú

Dữ liệu vào luôn được đảm bảo hợp lệ, tức là luôn tồn tại ít nhất một đoạn con liên tiếp có tổng bằng \(0\).


Ràng buộc

  • Subtask 1: \(30\%\) số test, \(1 \le n \le 500\),
  • Subtask 2: \(30\%\) số test, \(501 \le n \le 5000\),
  • Subtask 3: \(20\%\) số test, \(5001 \le n \le 10^5\),
  • Subtask 4: \(20\%\) số test, \(10^5 < n \le 10^6, -1 \le a[i] \le 1\).

Nhận xét

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