luogu 1049

简单的01背包。

#include"cstdio"
#include"cctype"
#include"algorithm"
using namespace std;
int read()
{
    int c,x=0; while(!isdigit(c=getchar()));
    while(x=x*10+c-'0',isdigit(c=getchar()));
    return x;
}
int f[20001];
int main()
{
    int v=read(),n=read();
    while(n--)
    {
        int a=read();
        for(int j=v; j>=a; j--) f[j]=max(f[j-a]+a,f[j]);
    }
    printf("%d",v-f[v]);
    return 0;
}

 

posted @ 2018-01-21 20:14  TrassBlose  阅读(86)  评论(0编辑  收藏  举报