比赛 暑假培训B班二测 评测结果 AAAAATTTTTT
题目名称 待售干草 最终得分 45
用户昵称 苏轼 运行时间 6.017 s
代码语言 C++ 内存使用 0.34 MiB
提交时间 2012-07-22 09:18:21
显示代码纯文本
#include <fstream>
using namespace std;
ifstream cin("hay4sale.in");
ofstream cout("hay4sale.out");
int c,h,v[5001],s=0,ans=0;
bool f[5001];
void dfs(int step)
{
	int r;
	if (step>h)
	{
		if (s>ans) ans=s;
	}else
	{
		for (r=1;r<=2;r++)
		{
			if (r==1&&f[step]&&s+v[step]<=c)
			{
				f[step]=false;s+=v[step];
				dfs(step+1);
				s-=v[step];f[step]=true;
			}
			if (r==2) dfs(step+1);
		}
	}

}
int main()
{
	int i;
	cin>>c>>h;
	for (i=1;i<=h;i++) {cin>>v[i];f[i]=true;}
	dfs(1);
	cout<<ans<<endl;
	return 0;
}