题目描述
小T开办了一家机器工厂,在N(N<=10000)个星期内,原材料成本和劳动力价格不断起伏,第i周生产一台机器需要花费Ci(1<=Ci<=5000)元。若没把机器卖出去,每保养一台机器,每周需要花费S(1<=S<=100)元,这个费用不会发生变化。
机器工厂接到订单,在第i周需要交付Yi(0<=Yi<=10^4)台机器给委托人,第i周刚生产的机器,或者之前的存货,都可以进行交付。
请你计算出这n周时间内完成订单的最小代价。
输入
第一行输入两个整数N和S,接下来N行输入Ci和Yi
输出
输出一个整数,表示最少的代价
样例输入
4 5 88 200 89 400 97 300 91 500
样例输出
126900
提示
#include<bits/stdc++.h> using namespace std; int n,s,c,y; long long ans,mn; int main() { scanf("%d%d",&n,&s); for(int i=1;i<=n;i++) { scanf("%d%d",&c,&y); if(i==1) mn=c; else mn=min(mn+s,(long long)c); ans+=mn*y; } printf("%lld",ans); return 0; }