Tổ chức giải đua
Đề bài
Mô tả
Có đoạn đường nối tiếp nhau, đánh số từ đến theo thứ tự từ trái sang phải. Đoạn đường thứ đang hư hỏng và cần chi đồng để sửa chữa.
Có giải đua xe có thể được tổ chức. Giải đua thứ sử dụng toàn bộ các đoạn đường từ đến , và nếu được tổ chức thì bạn thu về đồng. Một giải đua chỉ có thể diễn ra khi tất cả các đoạn đường mà nó sử dụng đều đã được sửa. Các giải đua diễn ra vào những thời điểm khác nhau nên một đoạn đường có thể phục vụ nhiều giải đua cùng lúc.
Bạn được tự do chọn tập các đoạn đường để sửa (có thể sửa tất cả, hoặc không sửa đoạn nào). Sau khi chọn xong, mọi giải đua có đủ điều kiện đều được tổ chức. Lợi nhuận của bạn bằng tổng tiền thu được từ các giải đua đã tổ chức trừ đi tổng chi phí sửa đường.
Hãy tìm lợi nhuận lớn nhất có thể đạt được. Vì luôn có thể không sửa đoạn đường nào để nhận lợi nhuận , đáp án không bao giờ âm.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số đoạn đường và số giải đua.
- dòng tiếp theo, dòng thứ chứa một số nguyên : chi phí sửa đoạn đường thứ .
- dòng cuối, dòng thứ chứa ba số nguyên , , : giải đua thứ dùng các đoạn đường từ đến và mang lại đồng.
Dữ liệu ra
Một số nguyên duy nhất là lợi nhuận lớn nhất.
Ràng buộc
Đáp án có thể vượt quá phạm vi số nguyên 32 bit.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 4 3 2 3 2 1 2 3 1 2 5 2 3 5 3 5 3 7 7 5 |
4 | Sửa các đoạn với chi phí . Ba giải đua đủ điều kiện là , và , thu về . Lợi nhuận . Giải đua không tổ chức được vì đoạn và chưa sửa. |
| 3 1 10 10 10 1 3 10 |
0 | Giải đua duy nhất cần cả ba đoạn, tốn đồng nhưng chỉ thu về . Không sửa gì cả là tốt nhất, lợi nhuận . |
| 2 1 0 3 1 2 5 |
2 | Đoạn sửa miễn phí, đoạn tốn . Bỏ ra đồng để thu về , lợi nhuận . |
Bình luận