Xóa xâu
Xem PDF
Điểm:
1500 (p)
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho một xâu chỉ gồm \(n\) chữ cái thường từ a tới z. Giá trị của một xâu là độ dài của xâu con liên tiếp dài nhất không rỗng chỉ chứa đúng \(1\) ký tự. Ví dụ giá trị của xâu abbac là \(2\) vì có bb là xâu con liên tiếp chỉ chứa ký tự b. Bạn được quyền xóa không, một hoặc một số ký tự bất kỳ trong xâu và giữ nguyên thứ tự các ký tự còn lại sao cho sau khi xóa xâu vẫn còn ít nhất một ký tự và số lượng ký tự riêng biệt bị xóa đi không vượt quá \(k\). Hãy tìm giá trị lớn nhất có thể của xâu cho trước.
Lưu ý: Khi xóa một kí tự, ta xóa tất cả các lần xuất hiện của nó
Input
- Dòng đầu tiên chứa 2 số nguyên dương \(n\) và \(k\) (\(k \leq 25, n \leq 2 \times 10^6\)) lần lượt là độ dài xâu và số lượng ký tự riêng biệt tối đa xóa được.
- Dòng đầu tiên duy nhất chứa xâu ký tự nêu trên. Dữ liệu đảm bảo xâu chỉ gồm các chữ cái thường từ
atớiz.
Output
- Gồm một số nguyên duy nhất là giá trị lớn nhất có thể của xâu đã cho.
Scoring
- Subtask \(1\): \(k = 1, n \leq 2 \times 10^6\).
- Subtask \(2\): \(k = 25, n \leq 2 \times 10^6\).
- Subtask \(3\): \(k \leq 25, n \leq 20\).
- Subtask \(4\): \(k \leq 25, n \leq 2 \times 10^4\).
- Subtask \(5\): Không ràng buộc gì thêm.
Example
Test 1
Input
7 1
acadaba
Output
2
Note
- Ta có thể bỏ ký tự
cở vị trí thứ \(2\) để được xâuaadabavà được giá trị của xâu mới là \(2\). Ta cũng có thể bỏ ký tựdở vị trí thứ \(4\) để được xâuacaabacó giá trị là \(2\).
Bình luận (1)