Untitled

 avatar
unknown
c_cpp
3 years ago
806 B
1
Indexable
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	long long int t,n,x,final_sum;
	cin>>t;
	while(t--)
	{
	    cin>>n>>x;
	    long long int coins[n];
	    for(int i=0;i<n;i++)
	    {
	        cin>>coins[i];
	    }
	    sort(coins,coins+n,greater<int>());
	    long long int count_coins=0;
	    long long int temp_sum=0;
	    for(int i=0;i<n;i++)
	    { 
	        if(temp_sum<x)
	        {
	            temp_sum+=coins[i];
	            count_coins++;
                
	        }
	        else if (temp_sum>=x)
	        {
	            cout<<count_coins<<endl;
	            break;
	        }
	        final_sum=temp_sum;
	        
	    }
	    if (final_sum<x)
	    cout<<(-1)<<endl;
      
	    
	}
	return 0;
}