Help me in solving CS2023_PON problem

My issue

My code

#include <bits/stdc++.h>
using namespace std;
bool solve(int idx,int ans,int n,int *a,int b){
    if(idx==n)
    return ans==b;
    if(ans!=INT_MAX&&(ans&a[idx]==b))
    return true;
    int k=ans&a[idx];
    return solve(idx+1,k,n,a,b)||solve(idx+1,ans,n,a,b);
}
int main() {
	int t;
	cin>>t;
	while(t--){
	    int n,b;
	    cin>>n>>b;
	    int a[n];
	    for(int i=0;i<n;i++)
	    cin>>a[i];
	    bool t=solve(0,INT_MAX,n,a,b);
	    if(t)
	    cout<<"YES"<<endl;
	    else cout<<"NO"<<endl;
	}
	return 0;
}

Problem Link: CS2023_PON Problem - CodeChef