#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int V, n; cin >> V >> n; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; vector<bool> dp(V + 1, false); // dp[j]: 容量为j是否可以被填满 dp[0] = true; for (int i = 0; i < n; i++) { for (int j = V; j >= a[i]; j--) { if (dp[j - a[i]]) dp[j] = true; } } // 从大到小找最大能装的体积 for (int j = V; j >= 0; j--) { if (dp[j]) { cout << V - j << endl; // 箱子剩余空间 = 总容量 - 已装体积 break; } } return 0; }