WA50求助
查看原帖
WA50求助
790282
Ribaudiaux楼主2022/9/24 13:20
#include<bits/stdc++.h>
using namespace std;
const int N=510;
int cst[N], fr[N], be[N];
struct Node{
	int bea;
	int fre;
}dp[N];
int main(){
	int n, q;
	scanf("%d %d", &n, &q);
	for(int i=1;i<=n;i++){
		scanf("%d %d %d", &cst[i], &fr[i], &be[i]);
	}
	while(q){
		q--;
		int c, f;
		scanf("%d %d", &c, &f);
		//结构体初始化
		for(int i=0;i<=c;i++){
			dp[i].bea=0;
			dp[i].fre=0;
		} 
		int ans=0;
		for(int i=1;i<=n;i++){
			for(int j=c;j>=cst[i];j--){
				if(dp[j].bea<(dp[j-cst[i]].bea+be[i])){
					dp[j].bea=dp[j-cst[i]].bea+be[i];
					dp[j].fre=dp[j-cst[i]].fre+fr[i];
				}
				if(dp[j].fre>=f) ans=max(ans, dp[j].bea);
			}
		}
		printf("%d\n", ans);
	}
	return 0;
}
2022/9/24 13:20
加载中...