传送门
![P1049 [NOIP2001 普及组] 装箱问题_c++](https://file.cfanz.cn/uploads/png/2022/11/07/5/6R26A1b7N8.png)
思路:
转化为01背包问题。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int inf = 0x3f3f3f3f;
int a[50];
int dp[20010];
int main()
{
int v;
cin>>v;
int n;
cin>>n;
for(int i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
}
for(int i = 1; i <= n; i++)
{
for(int j = v; j >= a[i]; j--)
{
dp[j] = max(dp[j],dp[j-a[i]]+a[i]);
}
}
printf("%d\n",v-dp[v]);
}










