零件交付

题目描述:

某车间接到一项为期 \( n \) 天的生产交付任务。  
在第 \( i \) 天(\( 1 \le i \le n \)):

  • 车间可以以单价 \( p_i \) 生产任意数量的零件;
  • 当天结束时,需要交付 \( d_i \) 件零件;
  • 若当天生产的零件多于当天的交付量,剩余的零件可以留到下一天继续使用,但需要支付每件 \( c_i \) 的库存费用

求满足每天交付要求所需的最小总费用

输入格式:

第一行一个整数 \( n \),表示天数。  
第二行包含 \( n \) 个整数 \( p_1, p_2, \dots, p_n \),表示每天生产一件零件的费用。  
第三行包含 \( n \) 个整数 \( d_1, d_2, \dots, d_n \),表示每天需交付的零件数量。  
第四行包含 \( n \) 个整数 \( c_1, c_2, \dots, c_n \),表示每件零件从第 \( i \) 天保存到第 \( i+1 \) 天的费用。

输出格式:

输出一个整数,表示完成所有交付任务的最小总费用。

样例输入:

3
30 35 40
40 25 20
4 6 8

样例输出:

2850

提示:

对于 \( 20\% \) 的数据,\( n \le 5 \)。  
对于 \( 40\% \) 的数据,\( n \le 100 \)。  
对于 \( 60\% \) 的数据,\( n \le 2000 \)。  
对于 \( 100\% \) 的数据,\(1 \le n \le 10^6 \),\( 1 \le p_i, d_i, c_i \le 10^6 \)。

时间限制: 2000ms
空间限制: 512MB

来源: syncoj