fork(1) download
  1. #include <bits/stdc++.h>
  2. typedef unsigned long long ll;
  3. using namespace std;
  4.  
  5. int main() {
  6. ll t,n,k,a[1000001],i,c,z,g;
  7. cin>>t;
  8. g=1;
  9. while(t--){
  10. cin>>n>>k;
  11. for(i=0;i<k;i++){
  12. cin>>a[i];
  13. }
  14. sort(a,a+k);
  15. reverse(a,a+k);
  16. i=0;
  17. c=1;
  18. z=0;
  19. do{
  20. z+=a[i];
  21. if (z<n){
  22. i+=1;
  23. }
  24. else{
  25. break;
  26. }
  27. c++;
  28. }while (c<=k);
  29. if(z>=n){
  30. cout<<"Scenario #"<<g<<":"<<endl<<c<<endl<<endl;
  31. }
  32. else{
  33. cout<<"Scenario #"<<g<<":"<<endl<<"impossible"<<endl<<endl;
  34. }g++;
  35. }
  36. return 0;
  37. }
Success #stdin #stdout 0s 11040KB
stdin
6
150 6 
45 12 32 65 48 25
500 20 
65 48 52 19 32 25 65 74 85 12 36 25 99 150 42 46 4 6 7 0
1 5 
45 18 3 2 6
999 5 
125 451 323 169 5 
1 1
1
6 6
1 1 1 1 1 1
stdout
Scenario #1:
3

Scenario #2:
6

Scenario #3:
1

Scenario #4:
4

Scenario #5:
1

Scenario #6:
6