97 求调
查看原帖
97 求调
647540
Albert_Einstein_楼主2023/8/9 17:26
#include<iostream>
using namespace std;
const int N=20000,M=200;
int n,m;
int v[N][M],w[N][M],ans[M],maxx;
int f[N];
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++){
        int a,b,s;
        cin>>a>>b>>s;
        if(maxx<s)maxx=s;
        int q=++ans[s];
        v[q][s]=a;
        w[q][s]=b;
    }
    for(int i=1;i<=maxx;i++)
        for(int j=m;j>=0;j--)
            for(int k=1;k<=ans[i];k++)
                if (v[i][k]<=j)
                    f[j]=max(f[j],f[j-v[i][k]]+w[i][k]);
    cout<<f[m]<<endl;
}
2023/8/9 17:26
加载中...