Dãy con có tổng bằng 𝒎
Xem dạng PDFMô tả và yêu cầu
Dãy con có tổng bằng 𝒎
Cho một dãy gồm 𝑛 số nguyên, các phần tử được đánh số thứ tự từ 1 đến 𝑛. Một dãy
con liên tục của dãy là một cách chọn các phần tử bắt đầu từ vị trí thứ 𝑖 và kết thúc tại vị
trí thứ 𝑗 (với điều kiện: 1 ≤ 𝑖 ≤ 𝑗≤ 𝑛). Hai dãy con liên tục được xem là khác nhau nếu
chúng khác nhau ít nhất ở vị trí bắt đầu hoặc vị trí kết thúc.
Yêu cầu: Hãy lập trình xác định một giá trị 𝑚 sao cho số lượng dãy con liên tục có
tổng các phần tử đúng bằng 𝑚 là nhiều nhất.
Dữ liệu vào: cho trong file văn bản DAYCONM.INP có cấu trúc như sau:
Dòng đầu ghi một số nguyên dương 𝑛.
Dòng thứ hai ghi 𝑛 số nguyên cho biết giá trị các phần tử của dãy số.
Kết quả: ghi ra file văn bản DAYCONM.OUT một số là giá trị 𝑚 tìm được. Nếu có
nhiều giá trị 𝑚, ghi ra giá trị nhỏ nhất.
Ví dụ
DAYCONM.INP DAYCONM.OUT
5 2
1 1 2 2 2
Giải thích ví dụ: Với 𝑚 = 2, ta có 4 dãy con liên tục có tổng bằng 2 với các vị trí bắt
đầu và kết thúc lần lượt là (1, 2), (3, 3), (4, 4), (5, 5). Đây là giá trị 𝑚 cần tìm.
Ràng buộc:
50% số điểm ứng với các test có 𝑛 ≤ 50 và giá trị tuyệt đối của các phần tử trong
dãy không vượt quá 10.
50% số điểm ứng với các test có 𝑛 ≤ 5000 và giá trị tuyệt đối của các phần tử
trong dãy không vượt quá 100.
Bình luận