题解 | #[HAOI2012]音量调节#
[HAOI2012]音量调节
https://ac.nowcoder.com/acm/problem/19990
#include<iostream>
using namespace std;
int n,b,m,maxn=-1;
int p[110];
bool dp[110][1100];
int main()
{
cin>>n>>b>>m;
for(int i=1;i<=n;i++)
cin>>p[i];
for(int i=1;i<=m;i++) dp[0][i]=0;
dp[0][b]=1;
for(int i=1;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(j>=p[i]&&dp[i-1][j-p[i]]) dp[i][j]=true;
if(j+p[i]<=m&&dp[i-1][j+p[i]]) dp[i][j]=true;
}
}
int maxn=-1;
for(int i=m;i>=0;i--)
{
if(dp[n][i])
{
maxn=i;
break;
}
}
cout<<maxn;
}