比赛 20190521热身赛 评测结果 AAAAAAAAAAA
题目名称 待售干草 最终得分 100
用户昵称 欧鹰 运行时间 0.384 s
代码语言 C++ 内存使用 15.59 MiB
提交时间 2019-05-21 20:12:53
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int n,c;
const int MAXN = 5010;
const int MAXM = MAXN*100;
int a[MAXN];
int dp[MAXM];
int read(){
	int w=1,x=0,ch=getchar();
	for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')w=-1;
	for(;ch>='0'&&ch<='9';ch=getchar())x=x*10+ch-'0';
	return x*w;
}
int max(int a,int b){
	return a>b?a:b;
}
int main(){
	freopen("hay4sale.in","r",stdin);
	freopen("hay4sale.out","w",stdout);
	c=read(),n=read();
	for(int i=1;i<=n;i++)a[i]=read();
	for(int i=1;i<=n;i++){
		for(int j=c;j>=a[i];j--){
			dp[j]=max(dp[j-a[i]]+a[i],dp[j]);
		}
	}
	printf("%d",dp[c]);
	return 0;
}