DHBB 2026 - DX12 - 10 - Shipper
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Thanh là một shipper chuyên nghiệp. Vào cuối ngày, Thanh còn ~n~ đơn hàng cần xử lý, được đánh số từ ~1~ đến ~n~. Mỗi đơn hàng ~i~ có thời gian vận chuyển là ~t_i~ phút và mang lại tiền công là ~a_i~ đồng. Tuy nhiên, Thanh chỉ còn đúng ~T~ phút trước khi bưu cục đóng cửa và ngừng nhận xác nhận hoàn thành đơn hàng.
Để tối ưu lộ trình, Thanh có thể phân loại mỗi đơn hàng vào một trong hai nhóm: Giao Hỏa Tốc hoặc Giao Tiết Kiệm.
Quy tắc ưu tiên: Thanh bắt buộc phải giao tất cả các đơn Hỏa Tốc trước, sau đó mới đến các đơn Tiết Kiệm.
Thứ tự trong nhóm: Vì các đơn hàng đã được sắp xếp theo tuyến đường tối ưu trên bản đồ, nên trong cùng một nhóm, Thanh luôn giao theo thứ tự chỉ số từ nhỏ đến lớn.
Điều kiện nhận công: Một đơn hàng ~i~ chỉ được tính là hoàn thành (và Thanh nhận được tiền công ~a_i~) nếu tổng thời gian từ lúc bắt đầu ca cho đến khi giao xong đơn đó không vượt quá ~T~ phút.
Vì mỗi đơn hàng đều có thể được xếp vào nhóm "Hỏa Tốc" hoặc "Tiết Kiệm", nên có tổng cộng ~2^n~ phương án phân loại khác nhau.
Yêu cầu: Bạn hãy giúp Thanh tính tổng số tiền công nhận được trên tất cả ~2^n~ phương án phân loại có thể xảy ra. Vì con số này có thể rất lớn, hãy xuất ra kết quả sau khi chia lấy dư cho ~10^9 + 7~.
Input
Dòng đầu tiên gồm hai số nguyên ~n~ và ~T~ ~(1 \le n \le 200, 1 \le T \le 3 \times 10^5)~.
Dòng thứ hai gồm ~n~ số nguyên ~a_1, a_2, \dots, a_n~ ~(1 \le a_i \le 3 \times 10^5)~ - tiền công của từng đơn hàng.
Dòng thứ ba gồm ~n~ số nguyên ~t_1, t_2, \dots, t_n~ ~(1 \le t_i \le T)~ - thời gian xử lý từng đơn hàng.
Output
Một số nguyên duy nhất là tổng tiền công thu được trên tất cả các cách phân loại, lấy modulo ~10^9 + 7~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~25\%~ | ~n \le 20~ |
| 2 | ~10\%~ | ~t_i \ge T/2~ với mọi ~i~ |
| 3 | ~25\%~ | Tất cả đơn hàng đều có thời gian xử lý như nhau, ~t_1 = t_2 = t_3 = \dots = t_n~ |
| 4 | ~40\%~ | Không có ràng buộc gì thêm |
Sample Input 1
3 6
1 2 3
2 3 4
Sample Output 1
25
Bình luận