Gửi bài giải

Điểm: 5,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++

Nhân dịp Tết, ba bé Bo chuẩn bị n túi lì xì cho bé Bo. Trong túi thứ i có số tiền là ai và một số nguyên bi (bi ≥ 0). Nếu bi > 0 thì bé Bo được phép chọn thêm bi túi lì xì khác. Việc chọn thêm này là tích lũy. Đầu tiên, bé Bo chọn một túi bất kỳ, sau đó giả sử bé Bo đang có tổng số tiền là A và số túi được phép chọn thêm là B (B>0), nếu bé Bo chọn thêm túi thứ i thì tổng số tiền là A + ai và tổng số túi
được chọn thêm là B -1 + bi . Cứ như vậy cho đến khi không được phép chọn thêm (B=0) hoặc đã chọn hết n túi. Bạn hãy giúp bé Bo xác định thứ tự chọn túi sao cho tổng số tiền bé có được là lớn nhất nhé.

Dữ liệu nhập: LIXI.INP

- Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100)

- Trong n dòng tiếp theo, dòng thứ i gồm 2 số nguyên ai và bi cách nhau một khoảng trắng (1 ≤ ai ≤ 100, 0 ≤ bi ≤ 100)

Dữ liệu xuất: LIXI.OUT

- Là số nguyên xác định số tiền nhiều nhất mà bé Bo có được.

Ví dụ

LIXI.INP LIXI.OUT LIXI.INP LIXI.OUT LIXI.INP LIXI.OUT
2
1 0
2 0
2 3
1 0
2 0
0 2
3 5
0 0
2 0
2 0
3 0
5 1
8

- Trong test 1, do chỉ chọn được 1 túi nên chọn túi có số tiền nhiều nhất là 2.
- Trong test 2, đầu tiên chọn túi 3, sau đó chọn túi 1 và tiếp theo là túi 2.


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.