文章
60
粉丝
361
获赞
43
访问
522.1k
#include<cstdio>
#include <vector>
#include <string>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=2000+5;
const int INF=9999;
int a[maxn];
int d[11];
int main()
{
int m,k;
while(cin>>m)
{
if(m==0)break;
cin>>k;
for(int i=0;i<k;i++)
cin>>d[i];
fill(a,a+maxn,INF);
a[0]=0;
for(int i=0;i<=m;i++)
{
for(int j=0;j<k;j++)
{
if(i>=d[j])
a[i]=min(a[i],a[i-d[j]]+1);
}
}
if(a[m]==INF)
cout<<"Impossible"<<endl;
else
cout<<a[m]<<endl;
}
}
登录后发布评论
暂无评论,来抢沙发