#include <bits/stdc++.h>
//qwerty47924692
using namespace std;
using ll = long long;
const ll N=(1ll<<20);
const string br="617283";
#define sz(a)(ll)a.size()
#define f first
#define s second
ll l,q;
string s;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>l>>q>>s;
ll n=(1ll<<l);
while(q--){
string a;
cin>>a;
ll x=0;
reverse(a.begin(),a.end());
ll must=0;
for(ll i=0;i<a.size();i++){
if(a[i]=='?')x|=(1ll<<i);
if(a[i]=='1')must|=(1ll<<i);
}ll sum=0;
// cout<<must<<' '<<x<<'\n';
for(ll mask=x;mask>=0;mask=((mask-1)&x)){
sum+=s[mask+must]-'0';
if(mask==0)break;
}
cout<<sum<<'\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |