比赛 20190521热身赛 评测结果 AAAAAAAAAAA
题目名称 待售干草 最终得分 100
用户昵称 海阔天空 运行时间 0.178 s
代码语言 C++ 内存使用 13.87 MiB
提交时间 2019-05-21 19:26:16
显示代码纯文本
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;

inline int read(){
	int x=0,w=1;
	char ch=getchar();
	for(;ch>'9'||ch<'0';ch=getchar())	if(ch=='-')	w=-1;
	for(;ch>='0'&&ch<='9';ch=getchar())	x=x*10+ch-'0';
	return x*w;
}

int v[5005];
int f[50050];

int main(){
    freopen("hay4sale.in","r",stdin);
    freopen("hay4sale.out","w",stdout);
	int n,m;
    m=read(),n=read();
	for(int i=1;i<=n;++i)
        v[i]=read();
	for(int i=1;i<=n;++i)
		for(int j=m;j>=1;--j){
            if(f[j]==m) {
                cout<<m<<'\n';
                return 0;
            }
            if(j>=v[i])f[j]=max(f[j],f[j-v[i]]+v[i]);
        }
    cout<<f[m]<<'\n';
	return 0;
}