[THHV 2017 - CLC - 11] Bài 1: Xếp hàng gửi tiền

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Có ~n~ khách hàng đang xếp hàng gửi tiền vào ngân hàng X. Số tiền mà mỗi khách hàng muốn gửi lần lượt là ~a_1, a_2, \dots, a_n~. Với mỗi người gửi tiền, thư ký ngân hàng phải tốn thời gian là 1 phút để hoàn tất thủ tục hồ sơ. Các khách hàng rất bận và họ chỉ có thể chờ trong một khoảng thời gian nào đó mà thôi, sau khoảng thời gian đó họ sẽ đi và không gửi tiền nữa. Thời gian mà các khách hàng có thể chờ lần lượt là ~t_1, t_2, \dots, t_n~ (tính theo phút). Chủ ngân hàng rất là tham lam, ông ta luôn muốn làm sao để có được nhiều tiền gửi nhất. Hãy lựa chọn thứ tự gửi tiền của các khách hàng sao cho số tiền ngân hàng có được là nhiều nhất (có thể phải chấp nhận từ chối một số khách hàng để đạt được mục đích).

Yêu cầu: Xác định tổng số tiền nhiều nhất có thể thu được.

Input

  • Dòng thứ nhất là số nguyên ~n~ (~1 \le n \le 10.000~)
  • Trong ~n~ dòng tiếp theo, dòng thứ ~i~ gồm hai số nguyên ~a_i~ và ~t_i~ (~1 \le a_i \le 10^5~, ~0 \le t_i \le 1.000~).

Output

  • Là số nguyên xác định tổng số tiền nhiều nhất có thể thu được.

Sample Input 1

4
10 1
20 2
5 2
12 0

Sample Output 1

42

Bình luận

Hãy đọc nội quy trước khi bình luận.


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