#include #include #include #include #define rep(i, a, n) for (int i = (int)(a); i < (int)(n); i++) using i64 = std::int64_t; template inline bool chmax(T &a, T b){ if (a < b){ a = b; return true; } return false; } int main() { int n; std::string s; std::cin >> n >> s; std::vector a(n); std::vector sum(n+1,0); std::vector max(n+1,0), min(n+1,0); rep(i,0,n) { std::cin >> a[i]; if(s[i] == 'B') a[i] *= -1; sum[i+1] = sum[i] + a[i]; max[i+1] = std::max(max[i], sum[i]); min[i+1] = std::min(min[i], sum[i]); } i64 ans = -1; rep(i,0,n) { chmax(ans, std::abs(sum[i+1]-max[i+1])); chmax(ans, std::abs(sum[i+1]-min[i+1])); } std::cout << ans << '\n'; }