糯米

TI DaVinci, gstreamer, ffmpeg
随笔 - 167, 文章 - 0, 评论 - 47, 引用 - 0
数据加载中……

POJ 2393 Yogurt factory 水题

思路:

每天要么以今天的价格买入,要么前面某天买了存在仓库里。不存在一半是今天买的,一半是从仓库拿的,这种情况。
因为如果这样,肯定有一半具有更高的性价比,那就全部都改成更高性价比的方式就好了。。
所以,这题只需要保存一个当前的最大值,扫描一遍就能出结果了。瞬间就沦为一道水题了。还以为要大动作的呢。

#include <stdio.h>

__int64 N, S;

__inline __int64 min(__int64 a, __int64 b)
{
    
return a < b ? a : b;
}


int main()
{
    __int64 best, i, c, y, sum, inc;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%I64d%I64d"&N, &S);
    best 
= 1LL << 60;
    sum 
= 0;
    inc 
= (N - 1* S;
    
for (i = 0; i < N; i++{
        scanf(
"%I64d%I64d"&c, &y);
        best 
= min(best, c + inc);
        sum 
+= y * (best - inc);
        inc 
-= S;
    }

    printf(
"%I64d\n", sum);

    
return 0;
}

posted on 2010-04-06 23:22 糯米 阅读(450) 评论(0)  编辑 收藏 引用 所属分类: POJ


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理