说是贪心,有点动态规划的思想了,因为long long int错了两次。。。伤心
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int maxn=
10000+
10;
int a[maxn],b[maxn],c[maxn];
int n,s;
long long int sum;
int main()
{
while(~scanf(
"%d%d",&n,&
s))
{ sum=
0;
for(
int i=
1;i<=n;i++
)
scanf("%d%d",&a[i],&
b[i]);
c[1]=a[
1];
for(
int i=
2;i<=n;i++
)
c[i]=min(a[i],c[i-
1]+
s);
for(
int i=
1;i<=n;i++
)
sum+=c[i]*
b[i];
printf("%lld\n",sum);
}
return 0;
}
转载于:https://www.cnblogs.com/Wangwanxiang/p/6651657.html
相关资源:数据结构—成绩单生成器