题意:每周都会生产牛奶,会有生产的单价和上交的数量,如果不这个月生产,可以在前几个月生产,那样就会产生存储的费用,然后就让你求最低的生产成本。
只要这个月生产的成本低于前面月份生产成本和存储的费用就这个月生产。
#include<stdio.h>
struct p
{
int x,y;
}num[10010];
int main()
{
int n,m;;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
scanf("%d%d",&num[i].x,&num[i].y);
long long sum=0;
sum=num[0].x*num[0].y;
for(int i=1;i<n;i++)
{
int t=i;
for(int j=0;j<i;j++)
{
if(num[i].x-num[j].x>=(i-j)*m)
t=j;
}
sum+=((i-t)*m+num[t].x)*num[i].y;
}
printf("%lld\n",sum);
return 0;
}