求各位大佬帮帮,样例过了,但是只有10分
查看原帖
求各位大佬帮帮,样例过了,但是只有10分
257677
Kaiser_Weltreich楼主2021/7/19 11:39
#include<bits/stdc++.h>
using namespace std;
#define MAXN 1005 
struct Info{
	int wht,imp,val;
};
Info v[MAXN]; 
int ans[MAXN][MAXN];
int main()
{          
    
    int vol,kind,res=-1;
    cin>>vol>>kind;
    for(int i=1;i<=kind;i++)
    {
       cin>>v[i].wht>>v[i].imp;
       v[i].val=v[i].wht*v[i].imp;
    }

    for(int i=1;i<=kind;i++){ 
        for(int j=0;j<=vol;j++)  
        {if(j>=v[i].wht)
            {
                ans[i][j]=max(ans[i-1][j],ans[i-1][j-v[i].wht]+v[i].val);
            }                 
            else
            {
                ans[i][j]=ans[i-1][j];
            }       
	//		cout<<ans[i][j]<<" ";
			       
        }
   //     cout<<endl;
    } 
    cout<<ans[kind][vol];
    
    return 0;
}

感谢大佬

2021/7/19 11:39
加载中...