Dãy con có tổng bằng 𝒎

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Dãy con có tổng bằng 𝒎
Mô 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.

Tải PDF gốc


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.