Cho xâu kí tự \(S\) chỉ gồm các chữ cái tiếng Anh in hoa.
Yêu cầu: Tìm xâu con liên tiếp dài nhất xuất hiện ít nhất \(K\) lần trong \(S\), hai lần xuất hiện là khác nhau nếu vị trí bắt đầu của xâu con là khác nhau.
Input
Dữ liệu vào gồm:
-
Dòng đầu ghi hai số nguyên dương \(N\) và \(K\) tương ứng là độ dài của xâu \(S\) và số lần xuất hiện ít nhất của xâu con cần tìm (\(N, K \le 10^5\)).
-
Dòng thứ hai ghi xâu kí tự \(S\).
Ràng buộc:
-
Có \(40\%\) số điểm có \(N \le 10^2\);
-
Có \(30\%\) số điểm tiếp theo có \(N \le 10^4\);
-
\(30\%\) số điểm còn lại không có ràng buộc gì thêm.
Output
In ra một số nguyên là độ dài xâu con tìm được theo yêu cầu, nếu không tồn tại xâu con thì ghi \(-1\).
Example 1
Input:
3 2
ABC
Output:
-1
Example 2
Input:
7 2
AABCAABA
Output:
3
Note
Ở ví dụ thứ hai, xâu con AAB xuất hiện hai lần (bắt đầu tại vị trí \(1\) và \(5\)) và không có xâu con nào dài hơn xuất hiện ít nhất hai lần.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.