Submission #1158630

#TimeUsernameProblemLanguageResultExecution timeMemory
1158630brover29Snake Escaping (JOI18_snake_escaping)C++17
12 / 100
2093 ms5404 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...