Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include <bits/stdc++.h>

using namespace std;
int num[20],check1[20],check2[20];//check1串从1开始，check2串从0开始
int main()
{
    int n,m,a,index=0,numOfOne=0;
    int check=2;
    std::ios::sync_with_stdio(false);
    cin>>n>>m;
    for (int i=0; i<n; i++)
    {
        cin>>num[i];
        numOfOne+=num[i];
    }
    int x=0;
    for (int i=0; i<m; i++)
    {
        cin>>a;
        if (i%2==0)
        {
            for (int j=0; j<a; j++)
            {
                check1[index]=1;
                check2[index++]=0;
            }
            x+=a;
        }
        else
            for (int j=0; j<a; j++)
            {
                check1[index]=0;
                check2[index++]=1;
            }
    }
    if (x!=numOfOne)
        check=0;
    else if (x!=n-numOfOne)
        check=1;
    int ans=0;
    if (check==2)
    {
        int ans1=0,ans2=0;
        for (int i=0; i<n; i++)
        {
            if (num[i]!=check1[i])
            {
                int result=find(check1+i,check1+n, num[i])-check1;
                swap( check1[i],check1[result] );
                ans1+=result-i;

            }
        }
        for (int i=0; i<n; i++)
        {
            if (num[i]!=check2[i])
            {
                int result=find(check2+i,check2+n, num[i])-check2;
                swap(check2[i],check2[result] );
                ans2+=result-i;
            }
        }
        ans=min(ans1,ans2);
    }
    else if (check==1)//check1
    {
        for (int i=0; i<n; i++)
        {
            if (num[i]!=check1[i])
            {
                int result=find(check1+i,check1+n, num[i])-check1;
                swap( check1[i],check1[result] );
                ans+=result-i;

            }
        }
    }
    else
    {
        for (int i=0; i<n; i++)
        {
            if (num[i]!=check2[i])
            {
                int result=find(check2+i,check2+n, num[i])-check2;
                swap( check2[i],check2[result] );
                ans+=result-i;
            }
        }
    }
    cout<<ans<<endl;
    return 0;
}

