记录编号 449376 评测结果 AAAAAAAAAA
题目名称 [NOIP 2006]金明的预算方案 最终得分 100
用户昵称 GravatarFFF团 是否通过 通过
代码语言 C++ 运行时间 0.041 s
提交时间 2017-09-14 09:42:19 内存使用 0.44 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int n,m,t1,t2,t3,v[4][65],w[4][65],f[32005];
int main(){
	freopen("budget.in","r",stdin);
	freopen("budget.out","w",stdout);
	std::ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>t1>>t2>>t3;
		if(!t3){
			v[0][i]=v[3][i]=t1*t2;
			w[0][i]=w[3][i]=t1;
		}
		else{
			for(int j=1;j<=2;j++)
			if(!v[j][t3]){
				v[j][t3]=t1*t2+v[0][t3];
				w[j][t3]=t1+w[0][t3];
				v[3][t3]+=t1*t2;
				w[3][t3]+=t1;
				break;
			}
		}
	}
	
	/*
	for(int i=1;i<=m;i++)
	for(int j=0;j<=3;j++)
	cout<<i<<":"<<v[j][i]<<" "<<w[j][i]<<endl;
	*/
	
	for(int k=1;k<=m;k++)
	for(int j=n;j>=0;j--)
	for(int i=0;i<=3;i++)
	if(j>=w[i][k])f[j]=max(f[j],f[j-w[i][k]]+v[i][k]);
	cout<<f[n];
	return 0;
}