仓库价格固定,只需比较前后两周的价格即可,上一周的价格+s与下一周的价格进行比较来决定策略
#include<stdio.h>
int main()
{
int n,s,c[10005]={0},y[10005]={0},i;
long long ans;
scanf("%d%d",&n,&s);
for (i=0;i<=n-1;i++) scanf("%d%d",&c[i],&y[i]);
ans=c[0]*y[0];
for (i=1;i<=n-1;i++)
{
if (c[i]+s<c[i+1])
{
ans+=c[i]*y[i]+(c[i]+s)*y[i+1];
y[i+1]=0;
}
else
{
ans+=c[i]*y[i];
}
}
printf("%lld\n",ans);
}