dp萌新求助写了个二维的,不知道是方程错了还是哪里求调
查看原帖
dp萌新求助写了个二维的,不知道是方程错了还是哪里求调
616964
Adolfo_North楼主2022/12/27 21:27
#include<iostream>
using namespace std;
int t[5001],p[5001],q[5001],f[5001][5001];
int main()
{
	int w,wk,m,n,ti,w2;
	cin>>wk>>w>>m>>n;
	for(int i=1;i<=n;i++) {
		cin>>w2;
		t[i]=w/wk*w2;
	}
	for(int i=1;i<=m;i++){
		cin>>p[i]>>q[i];
	}
	cin>>ti;
	for(int i=1;i<=m;i++){
		for(int j=ti;j>=t[p[i]];j--){
			f[i][j]=max(f[i-1][j],f[i-1][j-t[p[i]]]+q[i]);
		}
	}
	cout<<f[m][ti];
    return 0;
}

2022/12/27 21:27
加载中...