代码求调,2分
查看原帖
代码求调,2分
537934
litjohn楼主2023/11/28 19:50
#include<bits/stdc++.h>
using namespace std;
int n,m,c,v[1005],w[1005],f[1005],l;
vector<vector<int>> cnt;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>m>>n;
    cnt.reserve(105);
    for (int i = 1; i <= n; ++i) {
        cin>>w[i]>>v[i]>>c;
        if(cnt[c].empty()){
            l++;
        }
        cnt[c].push_back(i);
    }
    for (int i = 1; i <= l; ++i) {
        for (int j = m; j >= 0; --j) {
            for (auto k:cnt[i]) {
                if(j>=w[k]){
                    f[j]=max(f[j],f[j-w[k]])+v[k];
                }
            }
        }
    }
    cout<<f[m];
    return 0;
}
2023/11/28 19:50
加载中...