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