Cho chuỗi kí tự \(s\) chỉ gồm các kí tự chữ cái latinh thường từ \('a',\ldots,'z'\). Một chuỗi con \(x\) (gồm các kí tự ở vị trí liên tiếp) của \(s\) được gọi là một chuỗi có mật độ xuất hiện cao nếu trong chuỗi \(x\) có một kí tự mà số lần xuất hiện của kí tự đó nhiều hơn số các kí tự còn lại trong chuỗi \(x\).
Ví dụ: chuỗi \(s = "abbbabced"\), chuỗi com \(x = "abbbabc"\) là một chuỗi có mật độ xuất hiện cao vì có kí tự \('b'\) xuất hiện 4 lần, số các kí tự còn lại bằng 3. Nếu \(X = "abbbabce"\) kí tự xuất hiện nhiều nhất 4 lần (kí tự \('b'\)) và số kí tự còn lại là 4. Do vậy chuỗi \(x = "abbbabce"\) không phải là chuỗi có mật độ xuất hiện cao.
Yêu cầu: Tìm một chuỗi con \(x\) (gồm các kí tự ở vị trí liên tiếp) của \(s\) là một chuỗi có mật độ xuất hiện cao và có độ dài lớn nhất.
Dữ liệu vào:
+ Xâu \(s\) chỉ bao gồm các kí tự latinh in thường có độ dài không quá \(2 \times 10^{5}\).
Kết quả:
+ Ghi một số nguyên duy nhất là độ dài của chuỗi \(x\) tìm được.
Ví dụ:
Input | Output | Input | Output | |
---|---|---|---|---|
𝑎𝑏𝑏𝑏𝑎𝑏𝑐𝑒𝑑 | 7 | 𝑎𝑏𝑎𝑏𝑎𝑏 | 5 |
Ràng buộc:
+ Có 30% số test tương ứng 30% số điểm có chuỗi \(s\) chỉ gồm các kí tự thuộc tập 3 kí tự \(\{'a','b',\ 'c'\}\) và độ dài chuỗi \(s\) không quá \(2 \times 10^{3}\)
+ Có 30% số test khác tương ứng với 30% số điểm có độ dài chuỗi \(s\) không quá \(2 \times 10^{3}\);
+ Có 40% số test còn lại tương ứng với 40% số điểm không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |