6903 - 十月练习赛(普及组)——餐巾

通过次数

0

提交次数

1

时间限制 : 1 秒
内存限制 : 64 MB

一个餐厅在相继的n天里,第i天需要r_i块餐巾(i=1,2,…,n)。餐厅可以从三种途径获得餐巾。

(1)购买新的餐巾,每块需要p元。

(2)把用过的餐巾送到快洗部,洗一块需要m天,费用需要f(f<p)元。如m=1时,第一天送到快洗部的餐巾第二天就可以使用了,送慢洗的情况也如此。

(3)把餐巾送到慢洗部,洗一块需n(n>m),费用需s(s<f)元。

在每天结束时,餐厅必须决定多少块用过的餐巾送到快洗部,多少块送慢洗部。在每天开始时,餐厅必须决定是否购买新餐巾及多少,使洗好的和新购的餐巾之和满足当天的需求量r_i,并使n天总的费用最小。

输入

输入文件共三行;

第一行为总天数,最多100天;

第二行为每天所需的餐巾块数;

第三行为每块餐巾的新购费用p,快洗所需天数m,快洗所需费用f,慢洗所需天数n,慢洗所需费用s

输出

输出文件共n+1行;

第一行为最小的费用;

下面的n行,表示从第1天开始每天需要的总餐巾数、需要购买的新餐巾数、结束时往快、慢洗部送洗的餐巾数以及用到的来自快洗的餐巾数和来自慢洗的餐巾数。

样例

输入

3
3 2 4
10 1 6 2 3

输出

64
3 3 1 2 0 0
2 1 2 0 1 0
4 0 0 0 2 2

输入

15
4 0 24 0 0 10 2 9 8 1 15 12 13 5 6
10 2 3 3 2

输出

452
4 4 1 3 0 0
0 0 0 0 0 0
24 23 0 24 1 0
0 0 0 0 0 0
0 0 0 0 0 0
10 0 0 10 0 10
2 0 0 2 0 2
9 0 0 9 0 9
8 0 0 8 0 8
1 0 1 0 0 1
15 0 13 2 0 15
12 0 3 6 1 11
13 0 0 0 13 0
5 0 0 0 3 2
6 0 0 0 0 6

提示

数据规模已在题面中给出。