HSG12 Hà Nội 2026 - Chuỗi đa dạng

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một chuỗi ký tự ~S~ chỉ chứa những ký tự in thường trong bảng chữ cái tiếng Anh và hai số nguyên dương ~K, X~. Một chuỗi ký tự được gọi là "chuỗi đa dạng" nếu tồn tại ít nhất ~K~ ký tự khác nhau mà ~K~ ký tự đó xuất hiện tối thiểu ~X~ lần.

Ví dụ: với ~K = 3, X = 2~ thì chuỗi "aabcabdc" là chuỗi đa dạng vì có ~3~ ký tự 'a', 'b', 'c' đều xuất hiện ít nhất ~2~ lần. Chuỗi "dzzdda" không phải là chuỗi đa dạng vì có ~3~ ký tự khác nhau nhưng chỉ có ~2~ ký tự 'd', 'z' xuất hiện ít nhất ~2~ lần.

Có thể thực hiện thao tác đổi một ký tự trong ~S~ thành một ký tự bất kỳ khác.

Yêu cầu: Hãy xác định độ dài chuỗi con liên tiếp ngắn nhất của ~S~ là một chuỗi đa dạng với tối đa một thao tác đổi.

Input

  • Dòng đầu tiên gồm hai số nguyên dương ~K, X~ ~(1 \le K \le 26; 1 \le X \le 10^5)~;

  • Một dòng duy nhất chứa một chuỗi ký tự ~S~ có độ dài không vượt quá ~10^5~.

Output

  • Một số nguyên duy nhất là kết quả của bài toán. Nếu không có chuỗi con thỏa mãn thì in ra ~-1~.

Scoring

Subtask Điểm Ràng buộc
1 ~60\%~ ~\lvert S \rvert \le 100~
2 ~20\%~ ~\lvert S \rvert \le 1000~
3 ~20\%~ Không có giới hạn gì thêm

Sample Input 1

2 3
abcacbabac

Sample Output 1

6

Sample Input 2

2 2
abcde

Sample Output 2

-1

Notes

Trong ví dụ thứ nhất, chọn chuỗi con "acbaba" và thực hiện thao tác đổi ký tự c thành ký tự b được chuỗi con "abbaba" có ~2~ ký tự 'a''b', mỗi ký tự xuất hiện ~3~ lần.

Trong ví dụ thứ hai, không thể chọn được một chuỗi con với tối đa một thao tác đổi để tồn tại ít nhất ~2~ ký tự khác nhau, mỗi ký tự xuất hiện tối thiểu ~2~ lần.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.