样例不过
查看原帖
样例不过
827018
zhouzihang1楼主2024/3/13 21:22

样例不过但是AC了,滚动数组球调

#include<bits/stdc++.h>
#define ll long long
#define PII pair<ll,ll>
using namespace std;
const int N=1e3+10,M=1e3+10,K=1e2+10;
int n,m;
ll f[M][2];
vector<PII > a[K];
int main()
{
	scanf("%d%d",&m,&n);
	for(int i=1,w,v,k;i<=n;i++)
	{
		scanf("%d%d%d",&w,&v,&k);
		a[k].push_back({w,v});
	}
	bool p=0;
	for(int i=0;i<=100;i++,p^=1)
	{
		if(a[i].size()==0)
		{
			p^=1;
			continue;
		}
		for(PII it:a[i])
		{
			int w=it.first,v=it.second;
			for(int j=m;j>=w;j--)
				f[j][p]=max(f[j][p],f[j-w][p^1]+v);
		}
	}
	printf("%lld",f[m][p^1]);
	return 0;
}
2024/3/13 21:22
加载中...