Vào ngày đầu tiên đi học, giáo viên đã giao tất cả bài tập về nhà. Mỗi bài tập chỉ được tính điểm (tín chỉ) nếu nộp trong thời hạn quy định. Thời hạn hoàn thành và điểm số của mỗi bài tập có thể khác nhau. Ví dụ, nếu một bài tập có điểm là và yêu cầu nộp trong vòng ngày, thì để nhận được điểm này, bạn phải nộp trước khi kết thúc ngày thứ .
Thời gian hoàn thành mỗi bài tập đều là 1 ngày. Ví dụ, giả sử có 7 bài tập với điểm số và thời hạn như sau:
Mã bài tập
Thời hạn
Điểm
Số điểm tối đa có thể đạt được là . Một trong những thứ tự hoàn thành bài tập là (lưu ý có thể có cách khác).
Nhiệm vụ của bạn là tìm ra một thứ tự làm bài tập để đạt được tổng điểm lớn nhất.
Dữ liệu:
Dòng đầu tiên chứa một số nguyên , biểu thị số lượng bài tập.
dòng tiếp theo, mỗi dòng gồm hai số nguyên: số đầu tiên là thời hạn hoàn thành, số thứ hai là điểm số của bài tập đó.
Kết quả:
Xuất ra một số nguyên biểu thị tổng điểm lớn nhất có thể đạt được. Đảm bảo đáp án không vượt quá phạm vi int của C/C++.
Ví dụ:
Dữ liệu:
7
1 6
1 7
3 2
3 1
2 4
2 5
6 1
Kết quả:
15
Giới hạn:
Đối với dữ liệu, .
Đối với dữ liệu, .
Đối với dữ liệu, .
Đối với dữ liệu, , thời hạn hoàn thành các bài tập đều nhỏ hơn .