#include <stdio.h>
#include <stdlib.h>
#define MAXN 602
int cmp(const void *x,const void *y)
{
return *(int *)y-*(int *)x;
}
int main()
{
int n,L,i,ans;
int arr[MAXN];
_int64 sum;
while(scanf("%d %d",&L,&n)!=EOF)
{
sum=0;
ans=0;
for (i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
qsort(arr,n,sizeof(arr[0]),cmp);
for (i=0;i<n;i++)
{
if(sum>=L)
break;
else
{
sum+=arr[i];
ans++;
}
}
if(sum>=L)
printf("%d\n",ans);
else
printf("impossible\n");
}
return 0;
}
hdu2124 Repair the Wall (贪心)
最新推荐文章于 2017-12-18 17:32:03 发布