Hoả hoạn
Đề bài
Mô tả
Một ngôi nhà đang bốc cháy và trong nhà có món đồ giá trị. Món đồ thứ được mô tả bởi ba số nguyên , , :
- là số giây cần bỏ ra để mang món đồ đó ra ngoài;
- là thời điểm món đồ đó cháy rụi hoàn toàn;
- là giá trị của món đồ đó.
Chủ nhà cứu các món đồ lần lượt từng món một, bắt đầu từ thời điểm . Nếu anh ta cứu món trước rồi mới đến món thì món được đưa ra ngoài tại thời điểm , còn món tại thời điểm .
Một món đồ chỉ được cứu thành công nếu thời điểm nó được đưa ra ngoài nhỏ hơn thực sự thời điểm nó cháy rụi. Nói cách khác, nếu món kết thúc tại thời điểm thì phải có . Đặc biệt, nếu thì món không bao giờ cứu được.
Hãy chọn ra một tập các món đồ cùng thứ tự cứu chúng sao cho tổng giá trị các món cứu được là lớn nhất.
Dữ liệu vào
- Dòng đầu chứa một số nguyên là số món đồ.
- dòng tiếp theo, dòng thứ chứa ba số nguyên , , .
Dữ liệu ra
- Dòng đầu in ra tổng giá trị lớn nhất có thể đạt được.
- Dòng thứ hai in ra một số nguyên là số món đồ được cứu.
- Dòng thứ ba in ra số nguyên phân biệt là chỉ số các món đồ được cứu, theo đúng thứ tự cứu chúng. Các món đồ được đánh số từ theo thứ tự xuất hiện trong dữ liệu vào.
Nếu có nhiều đáp án cùng đạt tổng giá trị lớn nhất, in ra đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 7 4 2 6 5 3 7 6 |
11 2 2 3 |
Cứu được nhiều nhất hai món. Cứu món (xong tại thời điểm ) rồi món (xong tại thời điểm ) cho tổng giá trị , lớn nhất có thể. Đáp án 3 2 cũng được chấp nhận. |
| 2 5 6 1 3 3 5 |
1 1 1 |
Món có nên không bao giờ cứu được, dù bắt tay vào ngay từ thời điểm . Chỉ còn cứu được món với giá trị . |
| 1 20 20 20 |
0 0 |
Món duy nhất có nên không cứu được món nào. Dòng thứ ba là dòng trống. |
Bình luận