/*
* POJ_2393.cpp
*
* Created on: 2013年11月18日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 10010;
long long c[maxn],y[maxn];
int main(){
long long n,s;
long long sum;
while(scanf("%lld%lld",&n,&s)!=EOF){
int i;
for(i = 0 ; i < n ; ++i){
scanf("%lld%lld",&c[i],&y[i]);
}
sum = c[0]*y[0];
for(i = 1 ; i < n ; ++i){//这道题只需要比较相邻两周的价格。。如果不是的话,应该用 DP来做
if(c[i-1] + s > c[i]){
sum += c[i]*y[i];
}else{
sum += (c[i-1] + s)*y[i];
}
}
printf("%lld\n",sum);
}
return 0;
}
(Relax 贪心1.7)POJ 2393 Yogurt factory(求囤积货物的最小代价)
最新推荐文章于 2020-05-12 10:40:11 发布