import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static Scanner sc=new Scanner(System.in);
public static void solve(){
int n=sc.nextInt();
long h=sc.nextInt();
int array[]=new int[n];
for(int i=0;i<n;i++){
array[i]=sc.nextInt();
}
Arrays.sort(array);
System.out.println(dfs(0,h,array,2,1));
}
public static int dfs(int i,long h,int array[],int x,int y){
if(i==array.length)return 0;
if(h>array[i]) return dfs(i+1,h+array[i]/2,array,x,y)+1;
int ans1=0,ans2=0;
if(x>0){
ans1=dfs(i,h*2,array,x-1,y);
}
if(y>0){
ans2=dfs(i,h*3,array,x,y-1);
}
return Math.max(ans1,ans2);
}
public static void main(String[] args) {
int t=sc.nextInt();
while(t-->0){
solve();
}
}
}
以上是修改后的,仅仅把数组类型从int改为integer。就从2000ms超时变为400ms ac。