#367. SF植物采集
SF植物采集
<strong>题目描述</strong>
Tom发现了一种SF植物,这种植物可以结出许多种子。Tom希望收集尽可能多的种子,但是他的时间有限。
SF植物按顺序排列在一条直线上,共有N株。Tom从第1株SF开始,沿着直线走到第N株SF,然后结束收集。
Tom的时间限制是h小时,即总时间不能超过h*60分钟。
Tom从第i株SF走到第i+1株的位置,需要花费的时间单元个数为t(此处时间单元为5分钟),即表示花费时间Ti=5t(其中i=0..n-1,0<Ti<=960,如t=4,T5=t5=20,表示从第4株SF到达第5株SF需要花费20分钟)。
Tom可有选择地收集途径过程SF的种子,但由于收集难度,每5分钟,他只能收集Fi颗SF的种子(很苦哈)。
天气越来较差,使得Tom在收集SF的种子过程中会掉落部分种子(更苦了,收集效率还下降),假设Tom每1个时间单元掉落个数增加Di(掉落的没有收集价值,如果某SF的Fi小于等于Di,5分钟后,每一时间单元可收集种子个数将为0)。
Tom为了使损失最小,尽量多地收集种子,Tom需要进行简单的规划。现在请你帮他设计一程序,求取在SF种子收集数最大的前提下,Tom在每个SF停留的时间。
注意:在每个SF停留的时间,均为5的倍数。SF种子满足方案要求,即可认为种子数目极多。
<strong>输入格式</strong>
每组数据第1行为N,h,之后的3行为i处收集SF种子的详细情况。 第(1)行为每一个时间单元,可收集第i株SF种子数Fi(i=1..N), 第(2) 行为Tom在收集第i株SF种子的过程中,每一个时间单元掉落SF种子个数的增加量Di(i=1..N), 第(3) 行为Tom从第i株SF走到第i+1株所需要花费的时间(i=1..N-1)。
数据的输入以0结束。
<strong>输出格式</strong>
每组数据输出2行, 第1行输出在Tom需在每个SF停留的时间, 第2行输出Tom可收集到最大种子数。
如果方案存在,尽可能地多的停留在第1株SF处(人懒哈),如果还有方案与其平局,需尽可能地停留在第2株SF处,依次类推。
<strong>样例</strong>
<strong>样例 1</strong>
输入 # 1
2 1
10 1
2 5
2
4 4
10 15 20 17
0 3 4 3
1 2 3
4 4
10 15 50 30
0 3 4 3
1 2 3
0
输出 # 1
45, 5
Number of seeds collected: 31
240, 0, 0, 0
Number of seeds collected: 480
115, 10, 50, 35
Number of seeds collected: 724
<strong>来源</strong>
进阶题-贪心算法 洛谷