@[pppppLF](https://www.luogu.com.cn/user/990781)
```cpp
另外推荐:
#include<bits/stdc++.h>
using namespace std;
const int N=10000+10;
int n,k,a[N],cnt=0;
int main()
{
cin>>n>>k;
for(int i=1;i<=k;i++)
cin>>a[i];
sort(a+1,a+k+1);
if(a[1]!=1){
cout<<-1;
return 0;
}
int now=0;
while(now<n){
int op=1;
for(int j=k;j>=1;j--)
if(a[j]<=now+1){
op=j;
break;
}
if(op==1&&a[op]>now+1){
cout<<-1<<endl;
return 0;
}
now+=a[op],cnt++;
}
cout<<cnt;
return 0;
}
```
by shujingyi @ 2023-12-25 20:28:45