solution:简单的贪心思路,排个序就完了
#include <bits/stdc++.h>
using namespace std;
int main()
{
int l, n;
while (cin >> l >> n)
{
int cnt = 0;
vector<int> arr(n);
for (int i = 0; i < n; ++i)cin >> arr[i];
sort(arr.begin(), arr.end());
for (int i = arr.size() - 1; i >= 0; --i)
{
l -= arr[i];
++cnt;
if (l <= 0)break;
}
if (l > 0)cout << "impossible" << endl;
else cout << cnt << endl;
}
return 0;
}