98分,萌新不会降维度
查看原帖
98分,萌新不会降维度
680434
shumu楼主2024/2/22 22:53

甚至样例都没过,求大佬们调一下(

#include<bits/stdc++.h>
using namespace std;
int w[1100],c[1100],dp[1100][1100],n,m,t,g[110][1100],b[110],k;
int main() {
	cin>>m>>n;
	for(int i=1;i<=n;i++) {
		cin>>c[i]>>w[i]>>t;
		k=max(k,t);
		b[t]++;
		g[t][b[t]]=i;
	}
	
	for(int i=1;i<=n;i++) {
		for(int j=m;j>=0;j--) {
			for(int p=1;p<=b[i];p++) {
				if(j>=c[g[i][p]]) {
					dp[i][j]=max(dp[i-1][j],dp[i-1][j-c[g[i][p]]]+w[g[i][p]]);
				}
			}
		}
	}
	cout<<dp[k][m];
	return 0;
}
2024/2/22 22:53
加载中...