求助大佬QAQ
查看原帖
求助大佬QAQ
1025109
ggpw_XNW楼主2025/1/14 09:26

Subtask#1Subtask \#1 通过,Subtask#0Subtask \#0WAWA

#include<iostream>
using namespace std;
long long m , n , a[2][60][32005] , w[60] , v[60] , z[60];
int main(){
	cin >> m >> n;
	for(int i=1;i<=n;i++){
		cin >> w[i] >> v[i] >> z[i];v[i] *= w[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(w[i]>j)a[0][i][j] = a[0][i-1][j];
			else if(z[i]>0) a[1][i][j] = a[1][z[i]][j-w[i]] + v[i] , a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]);
			else a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]) , a[1][i][j] = a[0][i-1][j-w[i]] + v[i];
		}
	}
	cout << max(a[0][n][m],a[1][n][m]);
	return 0;
}
2025/1/14 09:26
加载中...