您的位置:首页 > 其它

rqnoj02 开心的金明(dp,01背包)

2013-05-30 12:49 239 查看
超级大水题,01背包的裸题,水过。。。

#include <cstdio>
const int maxm = 30000 + 10;
const int maxn =30;
int v[maxn], p[maxn];
int dp[maxm] = {0};
int main()
{
	int n, m;
	int i, j;
	scanf("%d%d", &n, &m);
	for (i = 0; i < m; i++)
		scanf("%d%d", &v[i], &p[i]);
	for (i = 0; i < m; i++)
		for (j = n; j >= v[i]; j--)
			if (dp[j - v[i]] + v[i] * p[i] > dp[j])
				dp[j] = dp[j - v[i]] + v[i] * p[i];
	printf("%d\n", dp
);
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: