돌 가져가기

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

NN 개의 돌이 일렬로 나열되어 있다. 각 돌은 흰색 또는 검은색의 색상을 갖는다. 

돌들을 왼쪽부터 1번 돌, 2번 돌,\cdots, NN번 돌이라 하자. ii번째 돌의 무게는 A_iA\_i이다.

당신은 나열된 돌들 중 하나를 골라 가져가는 것을 모든 돌이 없어질 때까지 총 NN번 반복하려고 한다.

돌을 가져갈 때, 만약 그 돌이 현재 나열된 돌 중 가장 왼쪽이나 가장 오른쪽이 아니며, 가져간 돌에 인접한 두 돌 모두 가져간 돌과 다른 색인 경우 당신은 가져간 돌의 무게만큼의 점수를 얻는다.

가장 많은 점수를 얻을 수 있도록 돌을 가져가는 방법을 구하여라.

입력

첫 줄에 양의 정수 NN이 주어진다. (1N3×1051 \le N \le 3 \times 10^5)

둘째 줄에 B 또는 W로만 이루어진 길이 NN의 문자열 SS가 주어진다.

SSii번째 문자 S_iS\_i는 왼쪽에서 ii번째 돌의 색을 나타낸다. B는 돌이 검은색임을, W는 돌이 흰색임을 뜻한다.

셋째 줄에 NN개의 정수 A_1,A_2,,A_NA\_1, A\_2, \cdots, A\_N이 주어진다. (1A_i1091 \le A\_i \le 10^9)

A_iA\_iii번 돌의 무게를 나타낸다.

출력

첫째 줄에 최적의 방법으로 돌을 가져갔을 때 얻을 수 있는 점수를 출력한다.

힌트

처음 위치 기준 왼쪽에서 5, 6, 2, 3, 4, 7, 8, 15,\ 6,\ 2,\ 3,\ 4,\ 7,\ 8,\ 1번째 돌을 순서대로 가져가면 33번째 돌과 55번째 돌을 가져갈 때 점수를 얻어 1313점이 된다.