poj2393 Yogurt factory(贪心,思考)

https://vjudge.net/problem/POJ-2393

因为仓储费是不变的。

对于每一周,要么用当周生产的,要么接着上一周使用的价格(不一定是输入的)加上固定的仓储费用。

应该算是用到了叠加的想法吧,如果本周使用上一周的价格+s,就相当于加法分配律,左边项委托上一周帮我付到上一周那时刻,然后再加上我这一周的仓储付费和。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<cmath>
 7 #include<set>
 8 #define INF 0x3f3f3f3f
 9 typedef long long ll;
10 using namespace std; 
11 int main()
12 {
13     ll ans=0;
14     int n, s, a, b, mini = INF;
15     cin >> n >> s;
16     for(int i = 0; i < n; i++){
17         cin >> a >> b;
18         mini = min(mini+s, a);
19         ans += mini*b;
20     }
21     cout << ans << endl;
22     return 0;
23 } 

 

posted @ 2018-05-08 01:05  Surprisez  阅读(95)  评论(0编辑  收藏  举报