題目:
任務規定,一個酸奶製造廠,在n個星期內,分別要向外提供y[i]unit的酸奶。已知這個製造廠第i周製造每unit酸奶的費用爲c[i],儲存室儲存每1unit酸奶1星期的費用爲s。問要完成這個任務的最小費用是多少。 (來自http://blog.sina.com.cn/s/blog_6635898a0100ipsn.html)
思路:
等價的思路,在第n天的時候,第n-2天製造的酸奶可以看成第n-1天製造的只不過是+S. 然後可以等價看成每天都向前一天借酸奶。
代碼:
#include <iostream>
#include <cstring>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <map>
#include <vector>
using namespace std;
int N,S;
int main() {
freopen("in.txt","r",stdin);
while(scanf("%d%d",&N,&S) != EOF) {
int C,Y;
long long sum = 0;
int preC = 0x3f3f3f3f;
for(int i = 0;i < N;i ++) {
scanf("%d%d",&C,&Y);
preC = min(C,preC + S);
sum += preC * Y;
}
printf("%I64d\n",sum);
}
}