#CT00042. Đoạn nén tốt nhất (Best Compressible Segment)
Đoạn nén tốt nhất (Best Compressible Segment)
Đoạn nén tốt nhất (Best Compressible Segment)
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho xâu gồm chữ cái Latin in hoa. Các vị trí trong được đánh số từ đến .
Với một xâu con liên tiếp , chia thành các đoạn liên tiếp cực đại gồm các ký tự giống nhau. Số đoạn nhận được cũng chính là số cặp ký tự-số lượng khi nén theo quy tắc của bài Nén xâu.
Một xâu con được gọi là nén tốt nếu số đoạn của nó không vượt quá .
Cần chọn một xâu con nén tốt có độ dài lớn nhất. Nếu có nhiều xâu con cùng có độ dài lớn nhất, chọn xâu có vị trí bắt đầu nhỏ nhất.
Hãy tìm độ dài lớn nhất và hai chỉ số của xâu con được chọn.
Input
- Dòng 1 chứa hai số nguyên và .
- Dòng 2 chứa xâu có đúng ký tự, chỉ gồm
A..Z.
Output
In ba số nguyên theo thứ tự: độ dài lớn nhất, , .
Subtask
- Subtask 1 (30 điểm): .
- Subtask 2 (30 điểm): .
- Subtask 3 (40 điểm): không có ràng buộc bổ sung.
- Trong mọi Subtask: .
Ví dụ
Input
13 2
AAABBCCCCDDAA
Output
6 4 9
Giải thích
Các đoạn liên tiếp của xâu là AAA, BB, CCCC, DD, AA.
Hai xâu con dài nhất có không quá đoạn là BBCCCC và CCCCDD. Cả hai đều có độ dài .
Do hai phương án có cùng độ dài, ta chọn phương án có vị trí bắt đầu nhỏ hơn là . Khi đó , nên chương trình in 6 4 9.
Liên quan
Trong các cuộc thi sau:
Phước Hưng - Kỳ Thi HSG Lớp 9 (Chuyên đề Xử Lý Chuỗi) - Đề Số 3