解题思路:
注意事项:
参考代码:
#include<stdio.h>
int v[30],p[30];
long long x[30001];
int main()
{
int n,m,i,j,k;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
scanf("%d%d",&v[i],&p[i]);
for(i=1;i<=n;i++)
if(v[1]<=i)
x[i]=p[1]*v[1];
else
x[i]=0;
for(i=2;i<=m;i++)
for(j=n;j>=v[i];j--)
if(x[j]<x[j-v[i]]+v[i]*p[i])
x[j]=x[j-v[i]]+p[i]*v[i];
printf("%lld",x[n]);
return 0;
}
0.0分
0 人评分
WU-陶陶摘苹果2 (C++代码)浏览:975 |
蚂蚁感冒 (C语言代码)浏览:1335 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:468 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:565 |
简单的a+b (C语言代码)浏览:443 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:503 |
检查金币 (C语言代码)浏览:1416 |
删除数组中的0元素 (C语言代码)浏览:2043 |
C语言训练-自守数问题 (C语言代码)浏览:640 |