求助啊!!

#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 条评论

  • @ 2016-03-19 23:00:11

    被自己蠢哭了

  • @ 2016-03-19 22:59:46

    卧槽输出写到循环里面了

  • 1

信息

ID
1317
难度
3
分类
动态规划 | 背包 点击显示
标签
递交数
6617
已通过
3334
通过率
50%
被复制
27
上传者