#include <stdio.h>
#include <algorithm>
using namespace std;
bool cmp(const int &a, const int &b)
{
return a > b;
}
int main()
{
int L, N, p[601];
while(~scanf("%d %d", &L, &N))
{
for(int i = 0;i < N;i ++)
scanf("%d", &p[i]);
sort(p, p + N, cmp);
int sum = p[0], cnt = 1;
for(int i = 1;i < N;i ++)
{
if(sum >= L)
{
break;
}
sum += p[i];
cnt ++;
}
if(sum < L)
printf("impossible\n");
else
printf("%d\n", cnt);
}
return 0;
}
ps:此题是贪心策略,一直没注意cnt的情况,导致最多输出为N-1,导致总是WA,最终在学长的提示下才终于改对