这是原先的方法:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,s,c[10005],y[10005],p[1005],ans;
int main()
{
cin>>n>>s;
cin>>p[1]>>y[1];
for(int i=2;i<=n;i++)
{
cin>>c[i]>>y[i];
p[i]=min(c[i],p[i-1]+s);
}
for(int i=1;i<=n;i++)
{
ans+=p[i]*y[i];
}
cout<<ans;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,s,c[10005],y[10005],p[1005],ans;
int main()
{
cin>>n>>s;
cin>>p[1]>>y[1];
ans+=p[1]*y[1];
for(int i=2;i<=n;i++)
{
cin>>c[i]>>y[i];
p[i]=min(c[i],p[i-1]+s);
ans+=p[i]*y[i];
}
cout<<ans;
return 0;
}
感觉两个没有差别但是原先的错了2、5、6三个点qwq,求助大佬们