HDOJ2546

来源:互联网 发布:阿里云最便宜的服务器 编辑:程序博客网 时间:2024/06/04 19:26
#include <iostream>   #include <cstring>  #include <string>  #include <cstdio>  #include <algorithm>  #include <stack>  #include <math.h>  #include<iostream>  #include <map>  using namespace std;#define INF  0xfffff;//0x代表十六进制  #define M 1050  int a[M],dp[M];int main(){int n, m;while (cin >> n,n){memset(dp, 0, sizeof(dp));for (int i = 1; i <= n; i++) cin >> a[i];cin >> m;sort(a+1, a + n+1);if (m >= 5){m -= 5;for (int i = n - 1; i >= 1; i--)for (int j = m; j >= a[i]; j--) dp[j] = max(dp[j], dp[j - a[i]] + a[i]);cout << m - dp[m]+5- a[n] << endl;  //5块买最贵的 剩下的买剩下的}else cout << m << endl;}return 0;}
原创粉丝点击