全RE。。。
查看原帖
全RE。。。
649114
50lty12楼主2023/7/6 21:33
#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=1e4+5;
int n,m,V,v,w,d,cnt;
int vv[N*30],ww[N*30],f[N*30],a[10],b[10],c[10];
signed main(){
	scanf("%lld%lld%lld",&n,&m,&V);
	for(int i=1; i<=n; i++){
		scanf("%lld%lld%lld",&v,&w,&d);
		int t=1;
		while(d>=t){
			vv[++cnt]=v*t,ww[cnt]=w*t;
			d-=t;
		}
		if(d) vv[++cnt]=d*v,ww[cnt]=d*w;
	}
	for(int i=1; i<=cnt; i++){
		for(int j=V; j>=vv[i]; j--){
			f[j]=max(f[j],f[j-vv[i]]+ww[i]);
		}
	}
	for(int i=1; i<=m; i++) scanf("%lld%lld%lld",&a[i],&b[i],&c[i]);
	for(int i=1; i<=m; i++){
		for(int j=V; j>=0; j--){
			for(int k=0; k<=j; k++){
				f[j]=max(f[j],f[j-k]+a[i]*k*k+b[i]*k+c[i]);
			}
		}
	}
	printf("%lld\n",f[V]);
	return 0;
}
2023/7/6 21:33
加载中...