class Solution {
public:
    int boxin(int V, std::vector<int>& num) {
        int n = num.size();
        vector<int> dp(V + 1, 0);

        for (int i = 0; i < n; ++i) 
            for (int j = V; j >= num[i]; --j) 
                dp[j] = max(dp[j], dp[j - num[i]] + num[i]);

        return V - dp[V];
    }
};