记录编号 |
245690 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[HAOI 2012]音量调节 |
最终得分 |
100 |
用户昵称 |
liu_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
*/