Hoả hoạn

Đề bài

Mô tả

Một ngôi nhà đang bốc cháy và trong nhà có n món đồ giá trị. Món đồ thứ i được mô tả bởi ba số nguyên ti, di, pi:

  • ti là số giây cần bỏ ra để mang món đồ đó ra ngoài;
  • di là thời điểm món đồ đó cháy rụi hoàn toàn;
  • pi 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 0. Nếu anh ta cứu món a trước rồi mới đến món b thì món a được đưa ra ngoài tại thời điểm ta, còn món b tại thời điểm ta+tb.

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 i kết thúc tại thời điểm T thì phải có T<di. Đặc biệt, nếu tidi thì món i 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 n là số món đồ.
  • n dòng tiếp theo, dòng thứ i chứa ba số nguyên ti, di, pi.

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 m là số món đồ được cứu.
  • Dòng thứ ba in ra m 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ừ 1 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

  • 1n100
  • 1ti20
  • 1di2000
  • 1pi20

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 2 (xong tại thời điểm 2<6) rồi món 3 (xong tại thời điểm 5<7) cho tổng giá trị 5+6=11, 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 2t2=3d2=3 nên không bao giờ cứu được, dù bắt tay vào ngay từ thời điểm 0. Chỉ còn cứu được món 1 với giá trị 1.
1
20 20 20
0
0
Món duy nhất có t1=d1=20 nên không cứu được món nào. Dòng thứ ba là dòng trống.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0