题意:有一家酸奶场,每周可以用C_i的价格产生一个单位的酸奶,每周要供应Y_i单位的酸奶,酸奶保存一周要s的价格,问最少要多少钱能满足每周提供要求的酸奶。
思路:按照每周每单位酸奶最少的价格,贪心求出答案。
代码:
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<stdio.h>
using namespace std;
typedef long long ll;
ll a[10010],b[10010];
int main()
{
ios::sync_with_stdio(false);
int n,s,i;
cin>>n>>s;
for(i=1;i<=n;i++)
cin>>a[i]>>b[i];
ll ans=0;
for(i=2;i<=n;i++)
a[i]=min(a[i],a[i-1]+s);
for(i=1;i<=n;i++)
ans+=a[i]*b[i];
cout<<ans<<endl;
}