| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 113 | 30 | 21 | 34.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번 쿼리가 주어질 때마다 한 줄에 하나씩 쿼리의 결과를 출력한다.
6 1 2 3 4 5 6 ABBCAC 4 1 4 6 3 3 3 5 2 4 6 3 1 6
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번