| 比赛 | 暑假培训B班二测 | 评测结果 | AAAAAAAAAAA | 
    | 题目名称 | 待售干草 | 最终得分 | 100 | 
    | 用户昵称 | fflyt | 运行时间 | 0.442 s | 
    | 代码语言 | C++ | 内存使用 | 0.70 MiB | 
    | 提交时间 | 2012-07-22 10:15:40 | 
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int save[2][50001];
int main()
{
	freopen("hay4sale.in","r",stdin);
	freopen("hay4sale.out","w",stdout);
	
	int c,h,v;
	cin>>c>>h;
	
	int i,j;
	bool num=0;
	
	save[0][0]=1;
	save[1][0]=1;
	
	for(i=0;i<h;i++)
	{
		cin>>v;
		for(j=c-1;j>=0;j--)
		{
			if(save[num][j]==1)
			{
				save[!num][j]=1;
				if(j+v<=c)
					save[!num][j+v]=1;
			}
		}
		num=!num;
	}
	for(i=c;i>=0;i--)
		if(save[num][i]==1)
		{
			cout<<i<<endl;
			break;
		}
	
	return 0;
}