#include <iostream>
#include <vector>
#include <algorithm>
//谢谢博友翻译
using namespace std;
int main()
{
int NUM;
cin>>NUM;
vector<int> jg;
for(int i=0;i<NUM;i++)
{
int da,NUM1;
cin>>da>>NUM1;
vector<int> pp;
for(int j=0;j<NUM1;j++)
{
int t;
cin>>t;
pp.push_back(t);
}
sort(pp.begin(),pp.end());
int sum=0;
int js=0;
for(int j=NUM1-1;j>=0;j--)
{
sum=sum+pp[j];
js++;
if(sum>=da)
{
jg.push_back(js);
break;
}
}
if(sum<da)
{
jg.push_back(-1);
}
}
for(int i=0;i<jg.size();i++)
{
cout<<"Scenario #"<<i+1<<":"<<endl;
if(jg[i]==-1)
{
cout<<"impossible"<<endl<<endl;
}else
{
cout<<jg[i]<<endl<<endl;
}
}
return 0;
}
POJ 2487 Stamps G++
最新推荐文章于 2018-08-11 15:36:26 发布