其他分享
首页 > 其他分享> > AcWing 1019. 庆功会(多重背包)

AcWing 1019. 庆功会(多重背包)

作者:互联网

题目链接


题目描述

为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。
期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。

题目模型


题目代码

#include <iostream>

using namespace std;

const int N = 6010;

int n, m;
int f[N];

int main()
{
    cin >> n >> m;

    for (int i = 0; i < n; i ++ )
    {
        int v, w, s;
        cin >> v >> w >> s;
        for (int j = m; j >= 0; j -- )
            for (int k = 0; k <= s && k * v <= j; k ++ )
                f[j] = max(f[j], f[j - k * v] + k * w);
    }

    cout << f[m] << endl;

    return 0;
}

标签:奖品,题目,int,cin,1019,拨款,庆功会,AcWing
来源: https://www.cnblogs.com/esico/p/16342221.html