Example

Input

6 3
1 0 0 1 0 1
1 3 2


Output

1
#include <iostream>
using namespace std;
bool bit[16],bit2[16];
int a[16];
int n,m;

int check(bool sta){
  int pos=0,ans=0;
  for(int i=0;i<m;i++){
    for(int j=0;j<a[i];j++){
      int k=pos;
      while(k<n&&bit[k] !=sta) k++;
      if(k==n) return 10000000;
      ans += k-pos;
      while(k !=pos) bit[k] = bit[k-1],k--;
      bit[pos] = sta;
      pos++;
    }
    sta =!sta;
  }
  return ans;
}

int main() {
  cin >> n >> m;
  for(int i=0;i<n;i++) cin>>bit[i], bit2[i] = bit[i];
  for(int i=0;i<m;i++) cin>>a[i]; 
  
  int ans = check(1);
  for(int i=0;i<n;i++) bit[i] = bit2[i];
  cout << min(ans,check(0))<<endl;

  return 0;
}