| 比赛 | 15级练手赛 | 评测结果 | AAAAA | 
    | 题目名称 | 装箱问题 | 最终得分 | 100 | 
    | 用户昵称 | 梦那边的美好ET | 运行时间 | 0.007 s | 
    | 代码语言 | C++ | 内存使用 | 3.23 MiB | 
    | 提交时间 | 2018-08-02 19:41:14 | 
显示代码纯文本
#include<iostream>  
#include<cstdio>
#include<cmath>
#include<cstring>  
#include<algorithm>  
using namespace std;
int f[20001],v[31],n,m;
int main()
{ 
    freopen("npack.in","r",stdin);        
    freopen("npack.out","w",stdout);
	cin>>m>>n;
	for(int i=1;i<=n;i++)cin>>v[i];
	f[0]=1;
	for(int i=1;i<=n;i++)
		for(int j=m;j>=v[i];j--)
			f[j]=max(f[j-v[i]],f[j]);
	for(int i=m;i>=0;i--){
	    if(f[i]==1){
		    cout<<m-i;
			return 0;
		}
	}
    return 0;  
}