Bạn được cho một xâu gồm \(N\) 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 \(K\) 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 \(A\) có thứ tự từ điển nhỏ hơn xâu \(B\) khi thỏa một trong các điều kiện sau:
- \(A\) là tiền tố của \(B\) và \(A\) khác \(B\).
- Tồn tại số \(i\) \((1 \le i \le min(|A|,|B|))\) sao cho \(A[i] \lt B[i]\) và \(A[j]=B[j]\) với mọi j \((1 \le j \lt i)\)
Ở đây, |A| là độ dài của xâu \(A\), \(min(x,y)\) là giá trị nhỏ hơn giữa \(x\) và \(y\)
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ào
- Dòng đầu tiên gồm hai số nguyên dương \(N,K\) \((1 \le K \le N \le 100)\)
- Dòng thứ hai gồm xâu chứa \(N\) ký tự. Các ký tự là các chữ cái tiếng Anh in thường
Dữ liệu ra
- 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% test có xâu toàn ký tự 'a'
- 20% test có \(K=N\)
- 60% test còn lại không có ràng buộc gì thêm
Input 1
4 2
baba
Output 1
ab
Giải thích 1
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.
Input 2
4 2
baca
Output 2
abc
Nhận xét