Trong quá trình huấn luyện để chuẩn bị cho đấu trường ICPC, các bạn trại sinh sẽ được thử sức với nhiều dạng bài tập khác nhau. Một trong những bài toán đầu tiên được đưa ra nhằm kiểm tra tư duy chiến lược và khả năng xử lý xâu của các bạn.
Ban tổ chức Bootcamp cần đặt một cái tên đặc biệt cho phần thưởng dành cho những học viên xuất sắc nhất. Tên này phải được lấy từ một xâu chủ đề cho trước, đó là một chuỗi các ký tự tiếng Anh viết thường. Cụ thể, tên của phần thưởng phải là một xâu con (một dãy các ký tự liên tiếp) của xâu chủ đề.
Để thể hiện sự đa dạng trong kỹ năng của các học viên, tên của phần thưởng còn phải có ít nhất \(k\) ký tự phân biệt.
Yêu cầu: Hãy giúp ban tổ chức đếm số cách chọn một xâu con từ xâu chủ đề thỏa mãn điều kiện trên. Hai cách chọn được coi là khác nhau nếu vị trí bắt đầu hoặc vị trí kết thúc của xâu con khác nhau.
Input
- Dòng đầu tiên chứa hai số nguyên dương \(n\) và \(k\) (\(1 \le n \le 10^6, 1 \le k \le 26\)), lần lượt là độ dài của xâu chủ đề và số lượng ký tự phân biệt tối thiểu yêu cầu.
- Dòng thứ hai chứa xâu chủ đề gồm \(n\) ký tự trong bảng chữ cái tiếng Anh viết thường.
Output
- In ra một số nguyên không âm duy nhất là tổng số xâu con thỏa mãn.
Example
Test 1
Input
5 3
abacd
Output
5
Note
Với xâu chủ đề abacd và \(k=3\), các xâu con thỏa mãn là:
abacabacdbacbacdacd
Có 5 xâu con thỏa mãn.
Scoring
- \(20\%\) số test có \(k=1\).
- \(20\%\) số test có \(k=2\).
- \(20\%\) số test có \(n \le 10^2\).
- \(20\%\) số test có \(n \le 10^4\).
- \(20\%\) số test không có ràng buộc gì thêm.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.