比赛 暑假培训B班二测 评测结果 AAAAAAAAAAA
题目名称 待售干草 最终得分 100
用户昵称 王者自由 运行时间 0.377 s
代码语言 C++ 内存使用 0.69 MiB
提交时间 2012-07-22 10:25:44
显示代码纯文本
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 5000 + 10;
int c, h, v[N], f[2][N*10];
int main() {
    freopen("hay4sale.in", "r", stdin);
    freopen("hay4sale.out", "w", stdout);
    scanf("%d %d", &c, &h);
    for(int i=1; i<=h; i++)
        scanf("%d", v+i);
    for(int i=1; i<=h; i++)
        for(int j=1; j<=c; j++)
            f[i%2][j] = j < v[i] ?  f[!(i%2)][j]
                : max(f[!(i%2)][j], f[!(i%2)][j-v[i]] + v[i]);
    printf("%d\n", *max_element(f[h%2]+1, f[h%2]+c+1));
    return 0;
}