[入门组模拟赛]机器工厂

题目描述

小T开办了一家机器工厂,在N(N<=10000)个星期内,原材料成本和劳动力价格不断起伏,第i周生产一台机器需要花费Ci(1<=Ci<=5000)元。若没把机器卖出去,每保养一台机器,每周需要花费S(1<=S<=100)元,这个费用不会发生变化。

    机器工厂接到订单,在第i周需要交付Yi(0<=Yi<=10^4)台机器给委托人,第i周刚生产的机器,或者之前的存货,都可以进行交付。

    请你计算出这n周时间内完成订单的最小代价。

输入

第一行输入两个整数N和S,接下来N行输入Ci和Yi

输出

输出一个整数,表示最少的代价

样例输入

4 5
    88 200
    89 400
    97 300
    91 500

样例输出

 126900

提示

#include<bits/stdc++.h>
using namespace std;
int n,s,c,y;
long long ans,mn;
int main()
{
    scanf("%d%d",&n,&s);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&c,&y);
        if(i==1) mn=c;
        else mn=min(mn+s,(long long)c);
        ans+=mn*y;
    }
    printf("%lld",ans);
    return 0;
}
posted @ 2020-07-05 20:14  牛大了的牛大  阅读(126)  评论(0编辑  收藏  举报