- 开心的金明
- 2016-03-19 22:54:52 @
#include <iostream>
#include <algorithm>
using namespace std;
int v[26];
long w[26],f[26][30001];
int main()
{
int n,m,p;//n钱 m个
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>v[i]>>p;
w[i]=v[i]*p;
}
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
if(j>=v[i])
f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]);
else
f[i][j]=f[i-1][j];
}
cout<<f[m][n];
}
return 0;
}
测试样例运行了得到00003900,比正确答案前面多4个0,谁来告诉我这是为什么!!!
2 条评论
-
Ber666 LV 7 @ 2016-03-19 23:00:11
被自己蠢哭了
-
2016-03-19 22:59:46@
卧槽输出写到循环里面了
- 1