Một xâu \(A[1..m]\) được gọi là xuất hiện trong xâu \(B[1..n]\) đúng \(k\) lần khi và chỉ khi tồn tại đúng \(k\) vị trí \(i\) phân biệt sao cho \(A[1..m] = B[i..i+m-1]\). Các lần xuất hiện được phép chồng lên nhau.
Yêu cầu: Cho xâu \(S\) có độ dài \(n\) và một số nguyên dương \(k\). Tìm độ dài của xâu dài nhất xuất hiện ít nhất \(k\) lần trong xâu \(S\). Nếu không có xâu (khác rỗng) nào như vậy, in ra \(0\).
Input
- Dòng \(1\): chứa hai số nguyên \(n\) và \(k\) cách nhau một dấu cách (\(1 \le n \le 50000\), \(1 \le k \le 200\)).
- Dòng \(2\): chứa xâu \(S\) có độ dài \(n\) (gồm các chữ cái tiếng Anh in thường viết liên tiếp nhau).
Output
Một dòng ghi một số nguyên là độ dài lớn nhất của xâu con tìm được.
Scoring
- Có \(50\%\) số điểm với \(n \le 200\).
- Có \(50\%\) số điểm với \(200 < n \le 50000\).
Sample Input 1
5 2
bbbbb
Sample Output 1
4
Notes
Xâu bbbb xuất hiện \(2\) lần (tại vị trí \(1\) và \(2\), hai lần xuất hiện chồng lên nhau).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.