题目描述
小 T 开办了一家机器工厂,在 �N个星期内,原材料成本和劳动力价格不断起伏,第 �i 周生产一台机器需要花费 ��Ci 元。若没把机器卖出去,每保养一台机器,每周需要花费 �S 元,这个费用不会发生变化。
机器工厂接到订单,在第 �i 周需要交付 ��Yi 台机器给委托人,第 �i 周刚生产的机器,或者之前的存货,都可以进行交付。
请你计算出这 �n 周时间内完成订单的最小代价。
输入格式
第一行输入两个整数 �N 和 �S,接下来 �N 行每行两个数 ��Ci 和 ��Yi。
输出格式
输出一个整数,表示最少的代价。
输入输出样例
输入 #1
4 5
88 200
89 400
97 300
91 500
输出 #1
126900
说明/提示
1≤�≤1041≤n≤104,1≤��≤50001≤Ci≤5000,1≤�≤1001≤S≤100,0≤��≤1040≤Yi≤104。
代码如下:
#include<bits/stdc++.h>
using namespace std;
longlong a[100001]={},b[100001]={},n,m,s=0;
int main(){
cin>>n>>m;
cin>>a[0]>>b[0];
s+=a[0]*b[0];
longlong x=a[0];
for(int i=1;i<n;i++){
cin>>a[i]>>b[i];
if(x+m<a[i]) x+=m;
else x=a[i];
s+=x*b[i];
}
cout<<s;
return 0;
}