Dự Án
Xem dạng PDFPer có thể tham gia ~n~ dự án. Với mỗi dự án, Per biết ngày bắt đầu, ngày kết thúc và số tiền thưởng nhận được.
Trong một ngày Per chỉ có thể làm nhiều nhất một dự án. Nói cách khác, nếu Per nhận dự án có khoảng thời gian ~[a_i, b_i]~ thì dự án tiếp theo phải bắt đầu vào một ngày lớn hơn ~b_i~.
Hỏi số tiền lớn nhất mà Per có thể kiếm được?
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên ~n~ — số lượng dự án.
- ~n~ dòng tiếp theo, mỗi dòng chứa ba số nguyên ~a_i~, ~b_i~ và ~p_i~ — ngày bắt đầu, ngày kết thúc và tiền thưởng của dự án thứ ~i~.
Kết quả
In ra một số nguyên duy nhất — số tiền lớn nhất Per có thể kiếm được.
Ví dụ
Đầu vào:
4
2 4 4
3 6 6
6 8 2
5 7 3
Đầu ra:
7
Giải thích: Per nhận dự án ~1~ (ngày ~2~ đến ~4~, thưởng ~4~) rồi nhận dự án ~4~ (ngày ~5~ đến ~7~, thưởng ~3~), tổng cộng ~7~.
Giới hạn
- ~1 \le n \le 2 \cdot 10^5~
- ~1 \le a_i \le b_i \le 10^9~
- ~1 \le p_i \le 10^9~
Đáp án có thể vượt quá phạm vi số nguyên ~32~ bit.
Hãy nén các mốc thời gian rồi xét các dự án theo thứ tự ngày kết thúc tăng dần. Gọi ~f_t~ là số tiền lớn nhất kiếm được nếu chỉ dùng các ngày không vượt quá ~t~; khi nhận dự án ~i~ ta cần giá trị ~f~ tốt nhất trên tiền tố kết thúc trước ngày ~a_i~.
Bình luận