Cửa sổ trượtMảng
Mô tả
Ông Sáu làm quản lý cho một kho lạnh trái cây ở huyện Châu Thành, Bến Tre. Hệ thống điện kế ghi lại lượng điện tiêu thụ (tính bằng kilowatt) cho từng giờ trong ngày, tạo thành một mảng gồm n giá trị. Do giá điện thay đổi theo khung giờ và kho cần tối ưu chi phí, ông Sáu muốn tìm một đoạn gồm đúng k giờ liên tiếp sao cho tổng điện tiêu thụ trong đoạn đó là nhỏ nhất. Bạn hãy giúp ông Sáu tìm ra tổng điện nhỏ nhất này.
Đầu vào
- Một mảng số nguyên
dienTichgồmnphần tử, mỗi phần tử là điện tiêu thụ của một giờ. - Một số nguyên
kđại diện cho số giờ liên tiếp cần xem xét.
Đầu ra
- Trả về một số nguyên duy nhất là tổng điện tiêu thụ nhỏ nhất của bất kỳ đoạn nào gồm đúng
kgiờ liên tiếp.
Ràng buộc
- 1 ≤ n ≤ 10^5
- 1 ≤ k ≤ n
- Mỗi phần tử trong mảng là số nguyên dương thỏa mãn 1 ≤ giá trị ≤ 10^6.
Ví dụ
Ví dụ 1:
- Đầu vào:
dienTich = [5, 2, 8, 1, 3, 4],k = 3 - Đầu ra:
8 - Giải thích: Xét lần lượt các đoạn 3 giờ liên tiếp:
- Đoạn [5, 2, 8] có tổng là 5 + 2 + 8 = 15.
- Đoạn [2, 8, 1] có tổng là 2 + 8 + 1 = 11.
- Đoạn [8, 1, 3] có tổng là 8 + 1 + 3 = 12.
- Đoạn [1, 3, 4] có tổng là 1 + 3 + 4 = 8 (nhỏ nhất). Vậy đáp án là 8.
Ví dụ 2:
- Đầu vào:
dienTich = [4, 4, 4, 4],k = 2 - Đầu ra:
8 - Giải thích: Mọi đoạn 2 giờ liên tiếp đều có tổng là 4 + 4 = 8. Đáp án là 8.