记录编号 390461 评测结果 AAAAAAAAAA
题目名称 [NOIP 2005]采药 最终得分 100
用户昵称 Gravataryzh-- 是否通过 通过
代码语言 C++ 运行时间 0.006 s
提交时间 2017-04-03 09:37:32 内存使用 4.15 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int f[1001][1001],w[1001],v[1001];
int n,m;
int main()
{
      freopen("medic.in","r",stdin);
      freopen("medic.out","w",stdout);
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&w[i],&v[i]);
	}
	for(int i=1;i<=n;i++)
		for(int j=m;j>=1;j--)
		{
			if(j>=w[i])
				f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
			else f[i][j]=f[i-1][j];
		}
	cout<<f[n][m]<<endl;
	return 0;
}