题目大意:
奶牛买了一个奶酪厂生产奶酪,已知每周生产一单位奶酪的费用为C_i,每周可以生产任意数量的奶酪,现在要为接下来N周做生产计划。厂里有一个仓库,存储量无穷大,可以用来存储暂时不用的奶酪,每单位奶酪每周花费S。告诉你每周客户的需求量Y_i,请你帮忙用最少的钱满足这些需求,求最少花费ans。注意答案可能会超出longint范围。
0<=Y_i<=10,000
1<=N<=10,000
1<=S<=100
题解:
贪心:
每到一周就判断一下用当前的单位值c[i]去存储优,还是之前的单位最小值+s存储优,每次造一个最小单位值去*y[i],且累加给答案。
时间复杂度:O(N)
var
n,s,c,y,i:longint;
ans,minp:int64;
begin
readln(n,s);
minp:=maxlongint;
for i:=1 to n do
begin
readln(c,y);
if minp+s>c then minp:=c
else minp:=minp+s;
ans:=ans+minp*y;
end;
writeln(ans);
end.