#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
return a<b;
}
int main()
{
int n;
while(cin>>n)
{
if(n==0)
break;
int sum,i,j,max;
int p[2007]= {0},dp[2007]= {0};
for(i=1; i<=n; i++)
cin>>p[i];
sort(p+1,p+1+n,cmp);
max=p[n];
cin>>sum;
if(sum<5)
{
cout<<sum<<endl;
continue;
}
sum-=5;
for(i=1; i<n; i++)
for(j=sum; j>=p[i]; j--)
{
int a=dp[j];
int b=dp[j-p[i]]+p[i];
dp[j]=a>b?a:b;
}
cout<<sum+5-max-dp[sum]<<endl;
}
return 0;
}
hdu 2546 饭卡
最新推荐文章于 2021-04-12 05:38:22 发布