CF309B.Context Advertising
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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.
广告已成为我们日常生活的一部分。如今,在技术飞速发展的时代,我们需要你的创意来让广告变得更出色!
本题将考察一种简化的上下文广告模型。你将获得一段恰好由 n 个单词组成的文本。标准广告横幅恰好包含 r 行,每行最多容纳 c 个字符。潜在客户总是乐于看到尽可能多的广告内容,因此你需要确定:这段文本中最多能有多少个连续的单词可以完整地显示在该横幅上。同一行中的单词之间需用空格分隔;你允许一次性插入多个空格。注意:不允许拆分单词,即文本中的每个单词在横幅中必须占据整行(不能跨行);此外,不得更改单词顺序——也就是说,若你从上到下、从左到右依次阅读横幅上的文字,所得到的应恰好是原始广告文本中某个连续子段。
更严格地,问题可形式化如下:设所有单词按其在广告文本中出现的顺序编号为 1 至 n。你需要选出一个起始于第 i 个单词、终止于第 j 个单词的连续子段(其中 1≤i≤j≤n),使得该子段中所有单词均可写入横幅。要求所选单词数量尽可能多。参见样例以进一步理解。
输入格式
The first input line contains three integers n, r, c (1 ≤ n, r, c ≤ 106; r × c ≤ 106). 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·106.
第一行输入包含三个整数 n、r、c(1≤n,r,c≤106;r×c≤106)。
下一行包含一个由 n 个单词组成的文本。每个单词仅由小写英文字母组成,且非空。单词之间以单个空格分隔。所有单词的字符总数不超过 5⋅106。
输出格式
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.
最多输出 r 行,每行最多输出 c 个字符——即最优广告横幅。若存在多个最优广告横幅,输出任意一个即可。
注意:横幅的某些行可以为空。允许不输出这些空行。
输入输出样例
输入#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
输入解题思路,AI测评打分。不知道怎么写?