POJ2393 Yogurt factory

$ c_x * y_{i_1} + (i_1-x) * y_{i_1} * s < c_{i_1} * y_{i_1} $

$ c_x * y_{i_2} + (i_2-x) * y_{i_2} * s < c_{i_1} * y_{i_2} + (i_2-i_1) * y_{i_2} * s $

/*
思路:贪心 (又一次抄题解...)
考虑到每周的奶酪可由前几周的储存 也可本周制作
可证明出若第x周生产i1周所需奶酪更便宜 则i2周的奶酪在第x周生产一定比在第i1周生产更便宜 
因此可以把每周储存成本看成价格的一部分 则当前选取方案只有从以前最便宜的一周生产和这一周生产两种选择
贪心选取
*/
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
typedef long long LL;
int n,s;
LL ans,now=0x3f3f3f3f3f3f3f3f;
int main(){
	scanf("%d%d",&n,&s);
	for(int i=1;i<=n;++i){
		LL c,y;scanf("%lld%lld",&c,&y);
		now=min(now+s,c);
		ans+=y*now;
	}
	printf("%lld",ans);
	return 0;
}
posted @ 2019-02-04 19:56  宇興  阅读(87)  评论(0编辑  收藏  举报