Đề bài
Bạn được cho một xâu ký tự gồm ký tự. Đầu tiên, bạn được sắp xếp lại các ký tự trong xâu theo một thứ tự bất kỳ. Sau đó, hãy chia xâu ký tự này thành chính xác xâu ký tự liên tiếp không rỗng sao cho xâu ký tự có thứ tự từ điển lớn nhất là nhỏ nhất có thể.
Xâu có thứ tự từ điển nhỏ hơn xâu khi thỏa một trong các điều kiện sau:
- là tiền tố của và khác .
- Tồn tại số () sao cho và với mọi (). Ở đây, là độ dài của xâu , là giá trị nhỏ hơn giữa và .
Ví dụ:
- abc có thứ tự từ điển nhỏ hơn ad.
- ab có thứ tự từ điển nhỏ hơn abb.
Dữ liệu vàoSTRGAME.INP
File STRGAME.INP gồm:
- Dòng đầu tiên gồm hai số nguyên dương ().
- Dòng thứ hai gồm xâu chứa ký tự. Các ký tự là các chữ cái tiếng Anh in thường.
Kết quả raSTRGAME.OUT
File STRGAME.OUT gồm:
- Gồm một dòng duy nhất là xâu ký tự có thứ tự từ điển lớn nhất của phương án tối ưu.
Ràng buộc
- .
- 20% số test có xâu ký tự gồm toàn ký tự a.
- 20% số test tiếp theo có .
- 60% số test còn lại không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
4 2 baba
Ab
Giải thích
Ở ví dụ đầu tiên, ta có thể sắp xếp baba thành abab và chia thành hai xâu con ab và ab. Khi đó xâu ký tự có thứ tự từ điển lớn nhất là ab. Ta cũng có thể sắp xếp thành abba và chia thành hai xâu abb và a, tuy nhiên phương án này sẽ cho xâu có thứ tự từ điển lớn nhất là abb, lớn hơn so với ab ở phương án đầu tiên.
Ví dụ 2
4 2 baca
abc
Giải thích
Ở ví dụ thứ hai, ta có thể sắp xếp baca thành abca và chia thành hai xâu con abc và a. Khi đó xâu ký tự có thứ tự từ điển lớn nhất sẽ là abc.