USACO/stamps

来源:互联网 发布:五十知天命通俗的意思 编辑:程序博客网 时间:2024/06/05 14:17
/*TASK:stampsLANG:C++ */#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cstdio>#include<vector>using namespace std;typedef long long LL;const int maxn = 100;const int INF = 0x3f3f3f3f;const int N = 2e6 + 10;int a[maxn];int n,k;int f[N] ;//f[i] 表示i的面值所需最少的邮票数//f[i] = min(f[i-a[j]])+1void solve(){    scanf("%d%d",&k,&n);    for(int i =1;i<=n;i++)    {        scanf("%d",&a[i]);    }    int i =1,min;    while(true)    {        min = INF;        for(int j =1;j<=n;j++)        {            if((i-a[j]>=0)&&(f[i-a[j]]+1<min)) //            {                min = f[i-a[j]] + 1;            }        }        if(min>k)break;        f[i] = min;        ++i;    }    printf("%d\n",i-1);}int main(){    freopen("stamps.in","r",stdin);    freopen("stamps.out","w",stdout);    solve();    return 0;}
0 0
原创粉丝点击