《额。。不知道什么错误》
查看原帖
《额。。不知道什么错误》
910982
Lhy153楼主2024/3/6 17:07

感谢dalao

#include<bits/stdc++.h>
using namespace std;
int tim,m,n,kl[5000][5],k,b,w;
int know[10086],f[10086],v[10086];
int main(){
	scanf("%d%d",&k,&w);
	b=w/k;
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++) scanf("%d",&know[i]);
	for(int i=1;i<=m;i++){
		int q,p;
		scanf("%d%d",&q,&p);
		kl[i][1]=q;
		for(int j=1;j<=n;j++){
			if(kl[i][1]==j){
				kl[i][2]=know[i]*b;
				break;
			}
		} 
		v[i]=p;
	}
	scanf("%d",&tim);
	for(int i=1;i<=m;i++){
		for(int j=tim;j>=kl[i][2];j--){
			f[j]=max(f[j],f[j-kl[i][2]]+v[i]);
		}
	}
	printf("%d",f[tim]);
	return 0;
} 
2024/3/6 17:07
加载中...