A9019 | Context Advertising
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Advertising has become part of our routine. And now, in the era of progressive technologies, we need your ideas to make advertising better!
In this problem we'll look at a simplified version of context advertising. You've got a text, consisting of exactly $n$ words. A standard advertising banner has exactly $r$ lines, each line can contain at most $c$ characters. The potential customer always likes it when they can see lots of advertising, so you should determine which maximum number of consecutive words from the text can be written on the banner. Single words in one line of the banner should be separated by spaces. You are allowed to insert more than one space at once. Note that you are not allowed to break the words, that is, each word in the text must occupy exactly one line in the banner. Besides, you cannot change the word order, that is, if you read the banner text consecutively, from top to bottom and from left to right, you should get some consecutive part of the advertisement text.
More formally, the statement can be written like that. Let's say that all words are indexed from $1$ to $n$ in the order in which they occur in the advertisement text. Then you have to choose all words, starting from some $i$ -th one and ending with some $j$ -th one $(1<=i<=j<=n)$ , so that all of them could be written on the banner. There must be as many words as possible. See the samples for clarifications.
In this problem we'll look at a simplified version of context advertising. You've got a text, consisting of exactly $n$ words. A standard advertising banner has exactly $r$ lines, each line can contain at most $c$ characters. The potential customer always likes it when they can see lots of advertising, so you should determine which maximum number of consecutive words from the text can be written on the banner. Single words in one line of the banner should be separated by spaces. You are allowed to insert more than one space at once. Note that you are not allowed to break the words, that is, each word in the text must occupy exactly one line in the banner. Besides, you cannot change the word order, that is, if you read the banner text consecutively, from top to bottom and from left to right, you should get some consecutive part of the advertisement text.
More formally, the statement can be written like that. Let's say that all words are indexed from $1$ to $n$ in the order in which they occur in the advertisement text. Then you have to choose all words, starting from some $i$ -th one and ending with some $j$ -th one $(1<=i<=j<=n)$ , so that all of them could be written on the banner. There must be as many words as possible. See the samples for clarifications.
输入格式
The first input line contains three integers $n$ , $r$ , $c$ ( $1<=n,r,c<=10^{6}; r×c<=10^{6}$ ). The next line contains a text, consisting of $n$ words. The words consist only of lowercase English letters and are not empty. The words in the lines are separated by single spaces. The total number of characters in all words doesn't exceed $5·10^{6}$ .
输出格式
Print at most $r$ lines, in each line print at most $c$ characters — the optimal advertisement banner. If there are multiple advertisement banners, print any of them.
Note that some lines of the banner can be empty. You are allowed not to print such lines.
Note that some lines of the banner can be empty. You are allowed not to print such lines.
输入输出样例
输入 #1
9 4 12 this is a sample text for croc final round
输出 #1
this is a sample text for croc final round
输入 #2
9 1 9 this is a sample text for croc final round
输出 #2
this is a
输入 #3
6 2 3 croc a a a croc a
输出 #3
a a a
输入 #4
2 2 5 first second
输出 #4
first
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted