//KY13 最小邮票数
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n, a[20], m, dp[105];
int main()
{
while(cin>>m>>n){
for(int i=0;i<105;i++) dp[i]=100;
for(int i=1;i<=n;i++) {cin>>a[i];}
dp[0]=0;//总数为0时,需要0张邮票
for(int i=1;i<=n;i++){
for(int j=m;j>=a[i];j--){
dp[j]=min(dp[j],dp[j-a[i]]+1);
}
}
if(dp[m]==100) cout<<0<<"\n";
else cout<<dp[m]<<"\n";
}
return 0;
}

京公网安备 11010502036488号