C. Bill (Contest 8A 2023 Ep 6)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn có \(n\) hóa đơn, với mỗi hóa đơn gồm tên khách hàng và số tiền khách hàng phải trả, có thể có nhiều hóa đơn là của một người.

Bây giờ bạn cần chọn ra \(k\) người trong đống hóa đơn đó sao cho tổng số tiền của \(k\) người đó là lớn nhất. Nếu \(k\) lớn hơn số người trong đống hóa đơn đó thì bạn có thể chọn hết.

Gọi \(c\) là độ dài tối đa cho tên của một khách hàng.

Input

  • Dòng đầu tiên gồm 2 số nguyên \(n\)\(k\).
  • \(n\) dòng tiếp theo gồm chuỗi \(S_i\) là tên khách hàng (không có dấu cách) và số nguyên \(a_i\) là số tiền của hóa đơn thứ \(i\).
  • Ràng buộc:
    • \(1 \le a_i \le 10^9\)

Output

  • Gồm một số nguyên duy nhất là kết quả của bài toán.

Example

Test 1

Input
6 1
uvuvwevwevweonyetenyevweugwemubwemossas 10
ryuk 11
uvuvwevwevweonyetenyevweugwemubwemossas 5
fegla 3
tenshikanade 7
fegla 2
Output
15

Test 2

Input
7 2
waynebot 7
lhic 4
petr 5
umnik 9
izrak 6
tourist 11
zlobobber 9
Output
20

Scoring

  • Subtask \(1\) (\(40\%\) số điểm):
    • \(1 \leq n \leq 100\)
    • \(1 \leq c \leq 2\)
  • Subtask \(2\) (\(30\%\) số điểm):
    • \(1 \leq n \leq 10^5\)
    • \(1 \leq c \leq 30\)
  • Subtask \(3\) (\(30\%\) số điểm):
    • \(1 \leq n \leq 2 \cdot 10^5\)
    • \(1 \leq c \leq 100\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.