Ans(改进版)

X-wangyiquan 2022-08-09 15:47:57 8 返回题目

#include <bits/stdc++.h>
using namespace std;
int f[41][201],w[41],c[41];
int n,m,v;
int main() {
	cin>>v>>n;
	for(int i=1;i<=n;i++) cin>>c[i]>>w[i];
    for(int i=1;i<=n;i++)
    	for(int j=0;j<=v;j++){
    		f[i][j]=f[i-1][j];
    		if(j>=c[i])
    		f[i][j]=max(f[i][j],f[i][j-c[i]]+w[i]);  
		}
    	    
     
	cout<<"max="<<f[n][v];
    return 0;
}
{{ vote && vote.total.up }}