0分求助
查看原帖
0分求助
722834
leosana楼主2023/8/2 14:01
#include<iostream>
#include<cstdio>
#include<iomanip>
using namespace std;
const int maxn=1005;
const int maxnx=105;
int max(int x,int y){
	if(x>y){
		return x;
	}else{return y;
	}
}

int main(){
	int t,m;
	cin>>t>>m;
	int f[maxnx][maxn];
	int time[maxnx];
	int worth[maxnx];
	for(int i=1;i<=m;i++){
		scanf("%d%d",&time[i],&worth[i]);
		
	}
	for(int i=1;i<=m;i++){
		for(int j=t;j>0;j--){
			if(time[i]<=t){
				f[i][j]=max(f[i-1][j],f[i-1][j-time[i]]+worth[i]);
			}else 
			f[i][j]=f[i-1][j];		}
	}
	

	printf("%d",f[t][m]);
    return 0;
}




2023/8/2 14:01
加载中...