Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include <algorithm>
#include <iostream>
#define INF (1e9)
#define N 15
using namespace std;

int main(){
  int n,m,b[N],cpb[N],p[N],cnt0=0,chcnt=0,begin,sample[N],l=0,ans=0,ans2=INF;
  cin>>n>>m;
  for(int i=0;i<n;i++) cin>>b[i],cpb[i]=b[i],cnt0+=!b[i];
  for(int i=0;i<m;i++){
    cin>>p[i];
    if(!(i%2)) chcnt+=p[i];
  }
  if(cnt0==n-cnt0) begin=3;
  else if(cnt0==chcnt) begin=0;
  else begin=1;
  for(int i=0;i<m;i++)
    for(int j=0;j<p[i];j++,l++){
      if(begin==0){
	if(!(i%2)) sample[l]=0;
	else sample[l]=1;
      }
      else{
	if(!(i%2)) sample[l]=1;
	else sample[l]=0;
      }
    }
  for(int i=0;i<l;i++){
    if(b[i]==sample[i]) continue;
    for(int j=i+1;j<l;j++)
      if(b[j]!=b[i]){
	ans+=j-i;
	swap(b[j],b[i]);
	break;
      }
  }
  if(begin==3){
    ans2=0;
    for(int i=0;i<l;i++) sample[i]=!sample[i],b[i]=cpb[i];
    for(int i=0;i<l;i++){
      if(b[i]==sample[i]) continue;
      for(int j=i+1;j<l;j++){
	if(b[j]!=b[i]){
	  ans2+=j-i;
	  swap(b[j],b[i]);
	  break;
	}
      }
    }
  }
  cout<<min(ans,ans2)<<endl;
  return 0;  
}