#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define int long long
const int N=3e6+5;
int a[N];
bool fs[N];
int x[N];
vector<pair<int,int>>sm,df;
signed main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n-k+1;i++){
cin>>x[i];
}
int cnt=0;
for(int i=0;i<(1<<k);i++){
deque<int>dq;
for(int j=0;j<k;j++){
if(i & (1<<j))dq.pb(1);
else dq.pb(0);
}
bool u=1;
for(int j=1;j<=n-k+1;j++){
int s=0;
for(auto p:dq)s+=p;
if(s!=x[j])u=0;
if(x[j]!=x[j+1]){
dq.pb(dq[0]^1);
}
else{
dq.pb(dq[0]);
}
dq.pop_front();
}
cnt+=u;
}
cout<<cnt;
}
| # | 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |