http://acm.hdu.edu.cn/showproblem.php?pid=2546
先用5元钱买最贵的东西,然后用剩下的钱买价值最大的东西,也就是01背包问题。
先进行排序,找出最大的,然后对剩下的商品进行动态规划,而顺序不影响。
参考博客:http://blog.csdn.net/juststeps/article/details/8714303
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <stack>
#include <cstring>
#define eps 1e-8
using namespace std;
int main() {
//freopen("input.txt","r",stdin);
int n;
int price[1010];
int m;
int dp[1010];
while(~scanf("%d", &n) && n) {
int i, j;
for(i = 0; i < n; i++) {
scanf("%d", &price[i]);
}
scanf