机器工厂——贪心

154 阅读1分钟

题目描述

小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

输出

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

样例输入 Copy

4 5
88 200
89 400
97 300
91 500

样例输出 Copy

126900
int cnt;
ll ans=0;
ll num[maxn];
int main(){
    ll n=read;
    int k=read,temp;
    for(int i=1;i<=n;i++){
        int a=read,b=read;
        if(i==1) temp=a;
        else temp=min(temp+k,a);
        ans+=temp*b;
    }
    cout<<ans<<endl;
    return 0;
}
 
/**************************************************************
    Language: C++
    Result: 正确
    Time:3 ms
    Memory:3584 kb
****************************************************************/