시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB113302134.426%

문제

길이가 $N$(단, $N$은 $3$의 배수)인 수열 $X$가 있다. 수열 $X$의 모든 원소는 $A$, $B$, $C$ 중 하나의 색깔로 칠해졌으며 한 색깔로 칠한 원소의 수는 $\frac{N}{3}$개로 모두 같다. 수열의 앞에서부터 $A$로 색칠한 원소를 순서대로 $A_1, A_2, \cdots, A_{\frac{N}{3}}$라고 정의한다. $B$와 $C$에 대해서도 같은 방식으로 $B_i$, $C_i$를 정의한다.

다음과 같은 쿼리를 수행하는 프로그램을 작성하자.

  • 1 i j k: 수열 $X$의 $i$번째 원소부터 $j$번째 원소까지 $k$를 더한다.
  • 2 i j: 수열 $X$의 $i$번째 원소부터 $j$번째 원소까지 $C$로 지정되어 있는 원소에 대해 $C_t = A_t + B_t$을 적용한다.
  • 3 i j: 수열 $X$의 $i$번째 원소부터 $j$번째 원소까지의 합을 출력한다.

입력

첫 번째 줄에 $3$의 배수인 $N$이 주어진다. $(3 \leq N \leq 300\,000)$

두 번째 줄에 정수 $X_i$가 공백으로 구분되어 순서대로 주어진다. $(1 \leq X_i \leq 100\,000)$

세 번째 줄에 A, B, C로만 이루어진 길이가 $N$인 문자열이 주어진다. 문자열의 $i$번째 문자는 $X_i$가 칠해진 색깔을 의미한다.

네 번째 줄에는 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$

다음 $Q$개의 줄에 걸쳐 쿼리가 주어진다. $(1 \leq i \leq j \leq N;1 \leq k \leq 100\,000)$

주어지는 입력은 모두 정수다.

출력

3번 쿼리가 주어질 때마다 한 줄에 하나씩 쿼리의 결과를 출력한다.

예제 입력 1

6
1 2 3 4 5 6
ABBCAC
4
1 4 6 3
3 3 5
2 4 6
3 1 6

예제 출력 1

18
28

초기 수열 $X$는 다음과 같다: $[1, 2, 3, 4, 5, 6]$

첫 번째 쿼리를 수행한 후 수열 $X$는 다음과 같이 변한다: $[1, 2, 3, 7(=4+3), 8(=5+3), 9(=6+3)]$

두 번째 쿼리를 수행한 결과는 다음과 같다: $3 + 7 + 8 = 18$

세 번째 쿼리를 수행한 후 수열 $X$는 다음과 같이 변한다: $[1, 2, 3, 3(=1+2), 8, 11(=3+8)]$

네 번째 쿼리를 수행한 결과는 다음과 같다: $1 + 2 + 3 + 3 + 8 + 11 = 28$

출처

University > 한양대학교 ERICA 캠퍼스 > Zero One Algorithm Contest 2023 L번