英文题看懂不容易= =
http://acm.hdu.edu.cn/showproblem.php?pid=2124
#include <iostream>
#include <algorithm>
using namespace std;
long long l;
long long N[666];
int n;
int cmp(int a,int b){
return a>b;
}
void solve(){
long long sum=0,cnt=0;
for(int i=0;i<n;i++){
if(N[i]<l){
l=l-N[i];
cnt++;
}
else if(N[i]==l){
l=l-N[i];
cnt++;
break;
}
else {
l=l-N[i];
cnt++;
break;
}
}
if(cnt&&l<=0)
cout<<cnt<<endl;
else
cout<<"impossible"<<endl;
}
int main (){
while(cin>>l>>n){
for(int i=0;i<n;i++)
cin>>N[i];
sort(N,N+n,cmp);
solve();
}
return 0;
}