#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
#include<vector>
#include<string.h>
#include<map>
#include<cmath>
#include<set>
#define ll long long
#define maxn 1000001
#define INF 0x7fffffff
#define MAX 0x3f3f3f3f
#define ull unsigned long long
using namespace std;
int main()
{
ll sum=0;
int n,s,c[10005],y[10005];
c[0]=100000;
scanf("%d%d",&n,&s);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&c[i],&y[i]);
c[i]=min(c[i],c[i-1]+s);
sum+=c[i]*y[i];
}
printf("%lld\n",sum);
return 0;
}
Yogurt factory
最新推荐文章于 2021-07-26 15:20:32 发布
该博客主要探讨了一个C++实现的动态规划算法,用于解决在限制步长的情况下找到从第一行到最后一行的最小花费路径问题。输入包括商品价格(c[i])和允许的步长(s),输出为总花费。程序通过动态规划更新每一行的最小成本,并存储到c[i]中,最后累加得到总和。
摘要由CSDN通过智能技术生成