Luogu P1376 机器工厂

 P1376 机器工厂

题目描述

小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

 

输出格式:

 

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

 

输入输出样例

输入样例#1: 
4 5
88 200
89 400
97 300
91 500
输出样例#1:
126900

说明

时限1S,空间256MB

  贪心。如果本周的生产成本比上周+维修费大,那么就上周生产,屯到这周使用。

  如果本周的生产成本低,则本周生产。

  那么就看代码实现吧。

 1 #include <cstdio>
 2 
 3 int n, c[10005], s, y[10005];
 4 int main()
 5 {
 6     scanf("%d%d", &n, &s);
 7     for(int i=0; i<n; i++)
 8         scanf("%d%d", &c[i], &y[i]);
 9     long long ans=0;
10     int minn = 100000000; //生产成本最小 第0周生产成本无穷大
11     for(int i=0; i<n; i++)
12     {
13         minn += s; //保养+当周所需钱的最小值
14         if(minn > c[i])    //如果最小值比本周生产成本高 则本周的为最小值
15             minn = c[i];
16         ans += minn*y[i];
17     }
18     printf("%lld", ans);
19     return 0;
20 }

 

posted @ 2017-11-05 11:16  yBaka  阅读(390)  评论(1编辑  收藏  举报