Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include "bits/stdc++.h"
using namespace std;

int tmp[100];
int koukan(int n,int index,int to)
{
	int ret=0;
	int from=tmp[index];
	int tar=100;
	for(int i=index;i<n;i++)
	{
		if(tmp[i]==to)
		{
			tar=i;
			break;
		}
	}
	//swap
	for(int i=tar;i>index;i--)
	{
		ret++;
		int t=tmp[i];
		tmp[i]=tmp[i-1];
		tmp[i-1]=t;
	}
	return ret;
}
int main()
{
	int n,m;
	cin>>n>>m;
	int bit[100];
	int p[16];
	int rui=0;
	for(int i=0;i<n;i++)
	{
		cin>>bit[i];
	}
	for(int i=0;i<m;i++)
		cin>>p[i];
	copy(bit,bit+100,tmp);
	int ansa=0;
	int index=0;
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<p[i];j++)
		{
			if(tmp[index]!=(i&1))
				ansa+=koukan(n,index,i&1);
			index++;
		}
	}
	int ansb=0;
	index=0;
	copy(bit,bit+100,tmp);
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<p[i];j++)
		{
			if(tmp[index]!=((i+1)&1))
				ansb+=koukan(n,index,(i+1)&1);
			index++;
		}
	}
	//cerr<<ansa<<" "<<ansb<<endl;
	cout<<min(ansa,ansb)<<endl;
}
