前四个点都过了,球调
查看原帖
前四个点都过了,球调
1126733
lxc129楼主2024/12/15 09:14
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,a[10001],b[10001],c[10001],g,f[10001],t[10001];
vector<ll>v[1001],v1;
int main(){
	cin>>m>>n;
	for (ll i=1;i<=n;i++){
		cin>>a[i]>>b[i]>>c[i];
		if (t[c[i]]==0) g++,t[c[i]]++,v1.push_back(c[i]);
		v[c[i]].push_back(i);
	}
	for (ll k=1;k<=g;k++)
	for (ll j=m;j>=0;j--)
	for (ll i=0;i<v[v1[k-1]].size();i++){
		ll id=v[k][i];
		if (a[id]<=m) f[j]=max(f[j],f[j-a[id]]+b[id]); 
	}
	cout<<f[m];
}
2024/12/15 09:14
加载中...