cj2 - Kho lương của Tô Định
Xem dạng PDFSau khi Hai Bà Trưng phất cờ khởi nghĩa, nghĩa quân ngày càng lớn mạnh, liên tiếp đánh chiếm các thành trì của quân Đông Hán. Tên Thái thú Tô Định hèn nhát, trước khi cắt râu giả làm dân thường chạy trốn về nước, hắn đã ra lệnh cho quân sĩ giấu toàn bộ số lương thực còn lại vào ~n~ kho vựa dọc theo một con đường độc đạo từ Mê Linh ra biển.
Tuy nhiên, do sợ nghĩa quân truy đuổi, quân giặc cất giấu rất vội vàng, mỗi kho vựa lại có sức chứa và lượng lương khác nhau.
Yêu cầu: Trưng Trắc muốn phát lương cho dân nghèo. Bà cần tìm một đoạn liên tiếp các kho vựa (ví dụ từ kho ~i~ đến kho ~j~) sao cho tổng số lương trong đoạn đó đủ lớn để phát cho tối thiểu ~K~ hộ dân, nhưng đồng thời cũng gần với mức cần thiết nhất để tránh lãng phí (vì chiến tranh còn dài).
Cho mảng ~A~ gồm ~n~ số nguyên dương ~A[1..n]~ là số lương (tính bằng đơn vị "suất ăn") trong từng kho vựa. Cho số nguyên dương ~K~ là số lượng hộ dân tối thiểu cần phát. Hãy tìm tổng lương nhỏ nhất của một đoạn con liên tiếp có tổng lớn hơn hoặc bằng ~K~.
Nếu không có đoạn nào thỏa mãn, hãy in ra ~-1~.
Dữ liệu vào:
- Dòng 1: Hai số nguyên ~n, K~ (~1 \le n \le 2 \times 10^5~, ~1 \le K \le 10^9~).
- Dòng 2: ~n~ số nguyên ~A[i]~ (~1 \le A[i] \le 10^4~).
Kết quả:
- Một số nguyên là tổng nhỏ nhất thỏa mãn điều kiện, hoặc ~-1~.
Input
6 20
4 3 7 9 6 5
Output
20
Giải thích
- Đoạn ~[7, 9, 6]~ có tổng = ~22 \ge 20~
- Đoạn ~[9, 6, 5]~ có tổng = ~20 \ge 20~
- Vậy tổng nhỏ nhất thỏa mãn là ~20~.
Bình luận