zoukankan      html  css  js  c++  java
  • 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;
    }
    
  • 相关阅读:
    二叉堆(最小堆, 最大堆)介绍与实现
    C++ 用变量定义数组
    C++ 用变量定义数组
    053185
    053184
    053183
    053182
    053181
    053180
    oracle prior
  • 原文地址:https://www.cnblogs.com/yu-xing/p/10352070.html
Copyright © 2011-2022 走看看