2018-2-1
用贪心算法求解即可。
记住之前生产以及存储每个单位牛奶的最小的代价m,如果说当前生产的代价c小于m+s,则将m更新。
代码比较短。
#include<iostream>
#include<cstdio>
#define INF 0x3f3f3f3f
using namespace std;
int n,s,c,y;
long long res;
int main(){
while (scanf("%d%d",&n,&s)!=EOF){
int m=INF;
res=0;
for (int i=0;i<n;i++){
scanf("%d%d",&c,&y);
m=min(m+s,c);
res+=m*y;
}
printf("%lld\n",res);
}
return 0;
}