标签:
4 12 10 7 5 1
2
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define maxn 0x3f3f3f3f int dp[100005]; int w[55]; int n,m; void solve() { for(int i=0;i<n;i++) { for(int j=w[i];j<=m;j++) { dp[j]=min(dp[j],dp[j-w[i]]+1); } } for(int i=m;i>=0;i--) { if(dp[i]!=maxn) { dp[m]=dp[i]; break; } } printf("%d\n",dp[m]); } int main() { while(scanf("%d%d",&n,&m)!=EOF&&n&&m) { memset(dp,0x3f,sizeof(dp)); dp[0]=0; for(int i=0;i<n;i++) { scanf("%d",&w[i]); } solve(); } return 0; }
标签:
原文地址:http://www.cnblogs.com/qianyanwanyu--/p/4382465.html