为人民服务(进阶版)

X-louyicheng 2022-08-10 15:04:22 26 返回题目

#include<bits/stdc++.h>
using namespace std;
int v,n;
int f[200+10];
struct node{
	int c,w,p;
};
node a[40];
int main(){
	cin>>v>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].c>>a[i].w>>a[i].p;
	}
	for(int i=1;i<=n;i++){
		for(int j=v;j>=a[i].c;j--){
			for(int k=1;k<=(a[i].p==0 ? j/a[i].c : a[i].p);k++){
				if(j>=k*a[i].c) f[j]=max(f[j],f[j-k*a[i].c]+k*a[i].w);
			}
		}
	}
	cout<<f[v];
	return 0;
}
{{ vote && vote.total.up }}

共 3 条回复

X-wangyiquan

emm emm emm emm

x-hechengye

emm emm emm emm

X-louhaocheng

emm emm emm emm