4733: 【GESP2512六级】道具商店

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

样例输入 复制

3 5
99 1
33 2
11 3

样例输出 复制

132

提示

#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 505;
const int oo = 1e9 + 10;
int n, k;
int f[N * N];
int main() {
    scanf("%d%d", &n, &k);
    for (int i = 1; i < N * N; i++)
        f[i] = oo;
    int s = 0;
    for (int i = 1; i <= n; i++) {
        int a, c;
        scanf("%d%d", &a, &c);
        s += a;
        for (int j = s; j >= a; j--)
            f[j] = min(f[j], f[j - a] + c);
    }
    int ans = 0;
    for (int i = 0; i < N * N; i++)
        if (f[i] <= k)
            ans = i;
    printf("%d\n", ans);
    return 0;
}