#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N =2e5+10;
int n,m;
string s;
int c[N];
int ling[N],yi[N];
signed main(){
cin>>n;
cin>>s;
s=' '+s;
for(int i=1;i<=n;i++){
cin>>c[i];
}
for(int i=1;i<=n;i++){
ling[i]+=ling[i-1];
yi[i]+=yi[i-1];
if(i%2==0){
if(s[i]=='1'){
yi[i]+=+c[i];
}
else{
ling[i]+=+c[i];
}
}
else{
if(s[i]=='1'){
ling[i]+=+c[i];
}
else{
yi[i]+=+c[i];
}
}
}
int ans=2000000000000100;
for(int i=1;i<n;i++){
int ans1=0;
int ans0=0;
if(s[i]=='0') ans1+=c[i];
else ans0+=c[i];
if(s[i+1]=='0') ans1+=c[i+1];
else ans0+=c[i];
if(i!=1){
if((i-1)%2==1){
ans1+=ling[i-1];
ans0+=yi[i-1];
}
else{
ans1+=yi[i-1];
ans0+=ling[i-1];
}
}
if(i!=n-1){
if((i+2)%2==1){
ans1+=ling[n]-ling[i+1];
ans0+=yi[n]-yi[i+1];
}
else{
ans1+=yi[n]-yi[i+1];
ans0+=ling[n]-ling[i+1];
}
}
ans=min(ans,ans1);
ans=min(ans,ans0);
}
cout<<ans<<endl;
return 0;
}