hdu 2546
#include<algorithm> #include<cstring> #include<vector> #include<cstdio> #include<cmath> #include<queue> using namespace std; bool f[1200]; int c[1100]; int main() { int i, j, m, n; while(scanf("%d",&n)!=EOF) { if(n==0) break; memset(f,0,sizeof(f)); for(i=0; i<n; i++) scanf("%d",&c[i]); scanf("%d",&m); sort(c,c+n); f[m+50]=true; for(i=0; i<n; i++) { for(j=0; j<=m+50; j++) { if(f[j+c[i]]&&j+c[i]>=55) f[j]=true; } } for(i=0; i<=1000; i++) { if(f[i]) break; } printf("%d\n",i-50); } return 0; }