TS10 Quảng Ninh 2026 - Chai và dụng cụ mở

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: 1900 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

\(n\) đồ vật. Mỗi đồ vật này thuộc một trong ba loại: chai có nắp bật, chai cần dụng cụ mở và dụng cụ mở chai. Đồ vật thứ \(i\) được mô tả bằng một cặp số nguyên \((t_i, x_i)\) như sau:

  • Nếu \(t_i = 0\), đồ vật thứ \(i\) là một chai có nắp bật. Nếu lấy nó, bạn sẽ nhận được niềm vui là \(x_i\).
  • Nếu \(t_i = 1\), đồ vật thứ \(i\) là một chai cần dụng cụ mở. Nếu lấy nó và dùng dụng cụ mở chai để mở nó, bạn sẽ nhận được niềm vui là \(x_i\).
  • Nếu \(t_i = 2\), đồ vật thứ \(i\) là một dụng cụ mở chai. Nó có thể được sử dụng để mở tối đa \(x_i\) chai.

Hãy tìm tổng số niềm vui tối đa mà bạn có thể nhận được bằng cách chọn \(m\) trong số \(n\) đồ vật.

Input

  • Dòng đầu tiên chứa số nguyên \(n\)\(m\) (\(1 \le m \le n \le 2 \cdot 10^5\)).
  • Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa hai số nguyên \(t_i\)\(x_i\) (\(0 \le t_i \le 2; 1 \le x_i \le 10^9\)).

Output

  • In ra một số nguyên là câu trả lời.

Example

Test 1

Input
8 4
0 6
0 6
1 3
1 5
1 15
2 1
2 10
2 100
Output
27
Note

Nếu bạn có được đồ vật \(1, 2, 5, 7\) và sử dụng đồ vật thứ \(7\) (một dụng cụ mở chai) để mở đồ vật thứ \(5\), bạn sẽ nhận được tổng niềm vui là \(6 + 6 + 15 = 27\). Không có cách nào để chọn được \(4\) đồ vật có tổng niềm vui lớn hơn \(27\), nhưng bạn vẫn có thể có được tổng niềm vui là \(27\) nếu chọn đồ vật thứ \(6\) hoặc \(8\) thay cho đồ vật thứ \(7\) trong cách chọn trên.

Test 2

Input
5 5
1 5
1 5
1 5
1 5
1 5
Output
0

Bình luận

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

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