比赛 |
暑假培训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;
}