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 }