Problem ID:
pages
Points:
2 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Perl, Python
Trong một tệp (file) văn bản có ~N~ từ. Mỗi từ là một dãy các kí tự chữ cái tiếng Anh (chữ hoa và thường) và các dấu câu (như , . : ; ? ! ( ) ' "
và dấu cách) liền nhau. Người ta cần căn lề trái cho file với độ rộng ~M~ kí tự trên mỗi dòng. Mỗi từ cần được xếp trọn trên một dòng, mỗi dòng có thể chứa nhiều từ và trật tự các từ được giữ nguyên.
Yêu cầu
Giả thiết rằng mỗi từ đều có ~1~ dấu cách ở cuối, dấu cách này được tính vào chiều dài từ. Hãy tìm một phương án căn lề sao cho phần thừa lớn nhất ở bên phải tất cả các dòng là con số nhỏ nhất.
Dữ liệu vào
- Dòng đầu tiên chứa hai số ~N~ và ~M~;
- ~N~ dòng tiếp theo, mỗi dòng chứa một từ (không có dấu cách phía sau).
Kết quả ra
- Dòng đầu tiên chứa hai số ~H~ và ~K~, trong đó ~H~ là phần thừa lớn nhất (tính theo số kí tự) của phương án tìm được; ~K~ là số dòng của văn bản đã được căn lề;
- Dòng thứ hai ghi ~K~ số, số thứ ~i~ thể hiện số lượng từ ở dòng thứ ~i~;
- Tiếp đến là ~K~ dòng, mỗi dòng thể hiện các từ được xếp vào dòng đó (trật tự các từ được giữ nguyên).
Lưu ý: Các số trên cùng một dòng cách nhau ít nhất một dấu cách.
Sample Input
6 16
We
can
program
the
FIFA
games.
Sample Output
1 2
3 3
We can program
the FIFA games.
Comments