[Freddy]坏苹果

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 badapple.in 输出文件 badapple.out
【题目描述】

     Farmer ZYF种了N(2<=N<=25)棵苹果树,排列在一条直线上,从左当右编号为1、2、3、......、N。    由于ZYF很浮躁,每 天都在玩一款名为《軒轅劒外傳:雲之遙(Xuan Yuan Sword:Faraway of Cloud)》的游戏,    导致所有的苹果都快坏了!
    在H(1<=H<=16)个小时后,所有的苹果将会同时坏 掉!    ZYF希望在苹果坏掉之前,摘下尽量多的苹果。    他从苹果树1出发,向右走,有选择的在一些苹果树边停留一段时间摘苹果,最后在某个苹 果树旁结束采摘。    每次采摘苹果需要5分钟。ZYF测出从第i个苹果树到第i+1个苹果树需要走5xTi(0<=Ti<=100)分 钟,    还测出在第i个苹果树边停留,第一次采摘可以摘到苹果Fi(0<=Fi<=100),    以后每摘一次苹果,该苹果树的苹果 减少Di(0<=Di<=100),    也就是说,第二次在该树可摘到(Fi-Di)个苹果,    第3次可摘到(Fi-2*Di)个 苹果......设每个苹果树上的苹果都是无限多的,    当某个苹果树的 摘一次的苹果的数量小于等于0,则该苹果树不可采摘。

请编程求出最多能摘到苹果的数量S。

【输入格式】
第一行两个整数N,M
第二行 N-1个整数 T1,T2,T3,......,Ti-1,Ti。
第三行 N个整数 F1,F2,F3,......,Fi-1,Fi。

第四行 N个整数 D1,D2,D3,......,Di-1,Di。

【输出格式】

一行,一个整数S。(保证S小于2^31-1)样例输入
2 1
1
1 100
1 1

样例输出
1045

【输入输出说明】

有两棵苹果树,一共有1个小时的采摘时间。
只在2号苹果树采摘时能获得最大采摘数量:
从1号苹果树到2号苹果树需要1×5=5分钟;
一共能采摘 [(1*60)-(1*5)] div 5=11次;
第1次在2号苹果树能采摘能采摘到100个苹果;
第2次在2号苹果树能采摘能采摘到99个苹果;
第3次在2号苹果树能采摘能采摘到98个苹果;
......
第11次在2号苹果树能采摘能采摘到90个苹果;
所以一共能采摘到(100+90)*11/2=1045个苹果,没有比这个结果更优了。