比赛 20160420s 评测结果 MMMMMMMMMM
题目名称 买汽水 最终得分 0
用户昵称 YGOI_真神名曰驴蛋蛋 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2016-04-20 08:58:57
显示代码纯文本
#include<cstdio>
#include<algorithm>
using namespace std;
int f[100000001]={0};
int w[41];
int n,num,k=0;
bool s[41];
inline int max(const int &a,const int &b){return a<b?b:a;}
void Int(){
	freopen("drink.in","r",stdin);
	freopen("drink.out","w",stdout);
	scanf("%d %d",&n,&num);
	int ttt=0;
	for(int i=1;i<=n;++i){
		scanf("%d",&w[i]);
		ttt+=w[i];
	}
	if(ttt<=num)k=ttt;
}
int doing(){
	Int();
	if(k!=0){
		printf("%d",k);return 0;
	}
	for(int i=1;i<=n;++i){
		for(int j=num;j>=w[i];--j){
			f[j]=max(f[j],f[j-w[i]]+w[i]);
		}
	}
	printf("%d",f[num]);
	return 0;
}
int a=doing();
int main(){;}