#998. EMPLOY - Tuyển dụng

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Một siêu thị cần tuyển một số nhân viên bán hàng. Giờ làm việc trong mỗi ngày được tính từ thời điểm 0 tới thời điểm t\ ([0,t]). n ứng viên đánh số từ 1 tới n . Ứng viên thứ i chỉ có thể làm từ thời điểm a_i tới thời điểm b_i trong ngày ([a_i,b_i ]) nếu được tuyển dụng và ứng viên đó yêu cầu mức lương mỗi ngày là c_i .

Yêu cầu: Hãy giúp siêu thị tuyển một số nhân viên bán hàng trong số các ứng viên sao cho: Bất kỳ thời điểm nào trong giờ làm việc cũng có ít nhất một nhân viên bán hàng và tổng tiền lương phải trả trong mỗi ngày cho các nhân viên là ít nhất.

Dữ liệu:

  • Dòng đầu chứa số nguyên dương n≤10^5 và số nguyên dương t≤10^9 ;
  • n dòng tiếp theo, dòng thứ i chứa ba số nguyên a_i,b_i,c_i\ (0≤a_i<b_i≤t;1≤c_i≤10^9) .

Kết quả:

  • Dòng đầu ghi tổng tiền lương phải trả mỗi ngày cho các nhân viên theo phương án tìm được;
  • Dòng thứ hai ghi chỉ số những ứng viên được chọn trong phương án tìm được theo thứ tự tùy ý.

Các số trên một dòng ghi cách nhau ít nhất một dấu cách. Dữ liệu vào luôn đảm bảo tồn tại phương án tuyển dụng theo yêu cầu đặt ra. Nếu có nhiều phương án cùng tối ưu, chỉ đưa ra một phương án.

Ví dụ:

Dữ liệu:

5 8
0 2 10
0 4 30
1 7 90
3 7 60
7 8 10

Kết quả:

100
2 4 5

Ghi chú: Nếu thí sinh chỉ trả lời đúng dòng thứ nhất thì được 50\% số điểm của test.