Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<string>
#include<cmath>
using namespace std;
typedef long long ll;
int b[55],p[55],c[55];
int id1[55],id2[55];
int s1,s2;
int main()
{
    int n,m;

    while(~scanf("%d%d",&n,&m))
    {
        s1=0;
        for(int i=0;i<n;i++)
        {
            scanf("%d",b+i);
            s1+=b[i];
        }
        for(int i=0;i<m;i++)
        {
            scanf("%d",p+i);
        }
        int Ans=1e9;
        for(int num=0;num<2;num++)
        {

            s2=0;

            int cnt=0;
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<p[i];j++)
                {
                    if(i%2==0)
                    {
                        c[cnt++]=num;
                    }
                    else
                    {
                        c[cnt++]=1-num;
                    }
                }
            }

            int ans=0;
             for(int i=0;i<cnt;i++)
            {
               s2+=c[i];
            }
            if(s1!=s2)continue;
            int cnt1=0;
            int cnt2=0;
            for(int i=0;i<cnt;i++)
            {
                if(c[i]==1)id2[cnt2++]=i;
            }
            for(int i=0;i<n;i++)
            {
                if(b[i]==1)id1[cnt1++]=i;
            }
            for(int i=0;i<cnt1;i++)
            {
                ans+=abs(id2[i]-id1[i]);
            }
            Ans=min(Ans,ans);
        }
        cout<<Ans<<endl;
    }
return 0;
}