Tsinsen A1133 装箱问题

http://oj.tsinsen.com/ViewGProblem.page?gpid=A1133

分析:标准的0/1背包

代码:

#include "bits/stdc++.h"
using namespace std;

int v, n, dp[20050];

int main () {
    scanf("%d%d", &v, &n);
    for (int i = 0; i < n; ++i) {
        int t; scanf("%d", &t);
        for (int i = v; i >= 0; --i) if (i - t >= 0)
            dp[i] = max(dp[i-t] + t, dp[i]); 
    }
    printf("%d\n", v - dp[v]);
    return 0;
}

你可能感兴趣的:(ACM-01)