#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int tmp[100100]; int x[100100]; int dp[100100]; char c[100100]; int main() { int i,n; while(scanf("%d",&n)!=EOF) { memset(tmp,0,sizeof(tmp)); memset(x,0,sizeof(x)); memset(dp,0,sizeof(dp)); memset(c,0,sizeof(c)); for(i=0;i<n;i++) scanf("%d",&x[i]); //tmp[i]+=tmp[i] getchar(); scanf("%s",c); tmp[0]=x[0]; for(i=1;i<n;i++) tmp[i]=tmp[i-1]+x[i]; if(c[0]=='0') dp[0]=0; else dp[0]=x[0]; for(i=1;i<n;i++) { if(c[i]=='0') dp[i]=dp[i-1]; else dp[i]=max(dp[i-1]+x[i],tmp[i-1]); } printf("%d ",dp[n-1]); } return 0; }