Lì Xì

Xem PDF

Điểm: 300 (p) Thời gian: 1.1s Bộ nhớ: 256M Input: bàn phím Output: màn hình

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à \(a_i\) và một số nguyên \(b_i\) \((b_i ≥ 0)\). Nếu \(b_i > 0\) thì bé Bo được phép chọn thêm \(b_i\) 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 + a_i\) và tổng số túi được chọn thêm là \(B -1 + b_i\). 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.

Yêu cầu: 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é.

Input

  • Dòng đầu tiên là số nguyên \(n\) \((1 \leq n \leq 100)\).

  • Trong \(n\) dòng tiếp theo, dòng thứ \(i\) gồm \(2\) số nguyên \(a_i\)\(b_i\) cách nhau một khoảng trắng \((1 \leq a_i \leq 100, 0 \leq b_i \leq 100)\).

Output

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

Example

Test 1

Input
3
1 0
2 0
0 2 
Output
3

Test 2

Input
5
0 0
2 0
2 0
3 0
5 1
Output
8
Note
  • 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


  • 2
    Đăng_Khoa    10:02 a.m. 4 Tháng 8, 2023

    n=int(input())
    a=[];b=[]
    for i in range(n):
    a1,b1=map(int,input().split())
    a.append(a1);b.append(b1)
    tien=0;bao=1
    for i in range(n):
    if b[i]>0:
    tien+=a[i]; bao=bao-1+b[i]
    a[i]=0;b[i]=0
    a.sort(reverse=True)
    bao=min(bao,n)
    tien+=sum(a[0:bao])
    print(tien)


    • 0
      Dolaminro    6:35 p.m. 6 Tháng 4, 2023 chỉnh sửa 2

      à mà thôi


      • 0
        Dolaminro    6:35 p.m. 6 Tháng 4, 2023

        cho em chia sẽ code với ạ, em thấy cách em khá dễ hiểu nên muốn chia sẽ


        • 1
          manhnd    4:50 p.m. 23 Tháng 8, 2021

          sort (all(x)) là sao nhỉ

          1 phản hồi

          • -3
            Toilaaibanbietko7A4    10:39 a.m. 12 Tháng 7, 2020

            Ủa có ăn phải hột vịt lộn khi ra đề không dzậy?
            "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."
            Thế sao test 1 kết quả là 3? Ra giải thích sai à? hí hí!

            1 phản hồi