讨论 / 经典01背包问题
lilis 2017-03-30 20:24:20
点我顶贴 收藏 删除
#include <iostream>

#include <algorithm>

#define MAXLEN 25

#define MAXCORILI 36000

using namespace std;

int c, n;

int v[MAXLEN];

int dp[MAXCORILI] = {0};

int main()

{

cin >> c >> n;

for (int i = 1; i <= n ;i++)

{

cin >> v[i];

}

for (int i = 1; i <= n; i++)

for (int j = c; j >= v[i]; j--)

dp[j] = max(dp[j],v[i] + dp[j-v[i]]);

cout << dp[c] << endl;

return 0;

}

查看更多回复
提交回复