记录编号 245690 评测结果 AAAAAAAAAA
题目名称 [HAOI 2012]音量调节 最终得分 100
用户昵称 Gravatarliu_runda 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2016-04-04 12:05:39 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
int c[55];
bool f[2][1005];
int ans=-1;
int n,maxl,beginl;
int main(){
	freopen("changingsounds.in","r",stdin);
	freopen("changingsounds.out","w",stdout);
	scanf("%d %d %d",&n,&beginl,&maxl);
	for(int i=1;i<=n;++i){
		scanf("%d",c+i);
	}
	int flag=0;
	f[1][beginl]=true;
	for(int i=1;i<=n;++i){
		for(int j=maxl;j>=0;--j){
			f[flag][j]=false;
			if(j-c[i]>=0&&f[!flag][j-c[i]])f[flag][j]=true;
			if(j+c[i]<=maxl&&f[!flag][j+c[i]])f[flag][j]=true;
		}
		flag=!flag;
	}
	bool ans=false;
	for(int i=maxl;i>=0;--i)
		if(f[!flag][i]){
		printf("%d",i);
		ans=true;
		break;
		}
	if(!ans)printf("-1\n");
	fclose(stdin);fclose(stdout);
	return 0;
}
/*
40 88 350
194 19 93 198 113 187 12 56 25 119 207 141 163 220 155 134 2 119 182 176 6 73 204 226 19 25 183 84 183 103 87 142 196 22 2 155 153 97 54 98 

349
*/