Bạn được cho một xâu ký tự 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 ≤ i<min(|A|,|B|)) sao cho A[i] < B[i] và A[j] = B[j] với mọi j
(1<j<min(|A|, |B|). Ở đâ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: File STRGAME.INP gồm:
· Dòng đầu tiên gồm hai số nguyên dương N, K (1 ≤ K ≤ N ≤ 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: 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.
Giới hạn:
· 20% số test có xâu ký tự gồm toàn ký tự a.
· 20% số test tiếp theo có K = N.
· 60% số test còn lại không có ràng buộc gì thêm.
giải giúp tớ bài này với, tớ xin hậu tạ 2 coin aa
viết bằng pascal nhaa