其他分享
首页 > 其他分享> > P1877 [HAOI2012]音量调节 题解

P1877 [HAOI2012]音量调节 题解

作者:互联网

P1877 [HAOI2012]音量调节 

#include<cstdio>
using namespace std;
int n,begin,maxlevel;
int ans;
int a[51];
bool f[51][1001];
int main()
{
    scanf("%d%d%d",&n,&begin,&maxlevel);
    f[0][begin]=1;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=1;i<=n;i++)
    {
    	for(int j=maxlevel;j>=0;j--)
        {
            if(j-a[i]>=0)
                f[i][j]=f[i][j]||f[i-1][j-a[i]];
            if(j+a[i]<=maxlevel)
                f[i][j]=f[i][j]||f[i-1][j+a[i]];
        }
    }
    for(int i=maxlevel;i>=1;i--)
    {
        if(f[n][i]==1)
        {
            printf("%d",i);
            return 0;
        }
    }
    printf("-1");
    return 0;
}

  

标签:P1877,begin,return,int,题解,d%,HAOI2012,printf
来源: https://www.cnblogs.com/smghj/p/16033116.html