Phương là một người thích sự độc đáo, anh ta rất không thích sự lặp lại, ngay cả khi nó xuất hiện trong các cuộc trò chuyện hàng ngày. Phương cảm thấy khó chịu khi phải dùng các từ có quá nhiều chữ cái lặp lại. Cụ thể với một từ \(W\) bất kì, cậu định nghĩa \(F(W)\) là độ khó chịu của từ đó. \(F(W)\) được tính bằng tổng của bình phương số lần xuất hiện trong \(W\) với mỗi chữ cái. Ví dụ với \(W\) = “hello”
có \(2\) chữ cái ‘l’
, \(1\) chữ cái ‘h’
, \(1\) chữ cái ‘e’
và \(1\) chữ cái ‘o’
có độ khó chịu là \(F(W) = 2^2 + 1^2 + 1^2 + 1^2 = 7.\)
Phương chỉ muốn sử dụng những từ an toàn, nghĩa là những từ có độ khó chịu nhỏ hơn hoặc bằng một số nguyên \(K\) cho trước.
Yêu cầu: Phương có một xâu \(S\) độ dài \(N\) chỉ gồm chữ cái in thường (từ ‘a’
đến ‘z’
). Hãy giúp Phương đếm số lượng xâu con là từ an toàn của \(S\).
Nhắc lại, một xâu con của một xâu \(S\) cho trước là một xâu thu được khi xóa một số ký tự liên tiếp nhau (hoặc không xóa) ở đầu xâu \(S\) và một số ký tự liên tiếp nhau (hoặc không xóa) ở cuối xâu \(S\). Ví dụ “olp”
hay “psou”
là xâu con của “olpsouth”
trong khi “suh”
thì không. Hai xâu con được coi là khác nhau nếu số lượng ký tự bị xóa ở đầu xâu khác nhau hoặc số lượng ký tự bị xóa ở cuối xâu khác nhau.
Input
- Dòng thứ nhất chứa hai số nguyên \(N\) và \(K\) lần lượt là độ dài của xâu \(S\) và giới hạn của từ an toàn \((1 \le N \le 2 000 000, 1 \le K \le 10^{18})\).
- Dòng thứ hai chứa một xâu độ dài \(N\) chỉ gồm các chữ cái in thường mô tả xâu \(S\).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Output
- Một số nguyên duy nhất là số lượng xâu con của \(S\) là từ an toàn.
Scoring
- Subtask \(1\) (\(20\%\) số test): \(n \le 100\).
- Subtask \(2\) (\(20\%\) số test): \(n \le 1000\).
- Subtask \(3\) (\(20\%\) số test): \(n \le 10000\).
- Subtask \(4\) (\(20\%\) số test): \(n \le 200000\).
- Subtask \(5\) (\(20\%\) số test): Không có ràng buộc gì thêm.
Example
Test 1
Input
4 5
abaa
Output
9
Note
Trong ví dụ đầu tiên, các xâu con là từ an toàn lần lượt là: “a”, “a”, “a”, “b”, “ab”, “ba”, “aa”, “aba”, “baa”
.
Từ “abaa”
không phải là từ an toàn vì trong đó có 3 chữ cái “a”
và 1 chữ cái “b”
nên có độ khó chịu là: \(f(\)“abaa”
\() = 32 + 12 = 10 > K = 5\).
Test 2
Input
9 10
aabbabaaa
Output
30
Test 3
Input
12 12
mmississippi
Output
50
Bình luận