解题思路:dp

dp方程:

//dp公式
//opt[i]=min{opt[j]+[a[j+1]+....+a[i]+10]*p[i]}
//Code
#include<iostream>
using namespace std;
#define MAXN 1e9
int main()
{
int n,i,j,c,m,t,a[100],p[100],opt[101]={0};
scanf(
"%d", &n);
while (n--)
{
scanf(
"%d", &c);
for(i=0;i<c;i++)scanf("%d %d",&a[i], &p[i]);
for(i=0;i<c;opt[i+1]=m,i++)
for(m=MAXN,j=i,t=a[j]+10;j>=0;j--,t+=a[j])
if(m>opt[j]+t*p[i])m=opt[j]+t*p[i];
printf(
"%d\n",opt[c]);
}
return 0;
}

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-05-26
  • 2021-05-30
  • 2021-11-01
  • 2022-12-23
猜你喜欢
  • 2022-01-19
  • 2021-07-10
  • 2022-12-23
  • 2021-10-09
  • 2021-08-05
  • 2022-02-23
相关资源
相似解决方案