Module: 루트 분해


Problem

5 /6


세그먼트의 곱셈

Theory Click to read/hide

세그먼트에 대한 대량 작업을 수행하고 인덱스로 요소를 인식해야 하는 작업이 주어집니다.
대량 연산은 세그먼트에 대한 합계 계산으로 수행됩니다.
각 블록에 대해 변경 사항을 해당 블록에 저장하고 해당 블록에서 요소를 요청할 때 해당 정보를 고려합니다.

Problem

길이가 n인 배열 a가 주어진 경우 (\(1 <= n <= 2 \ cdot 10^6\), \(1 <= a_i <= 10^9\)). 또한 m(\(1 <= m <= 500\)) 쿼리가 *와 같은 경우, l, r, k (\(1 <= l <= r < = n\), \(0 <= k <10\)) 및 ?, i (\(1 <= i <= n\)).

첫 번째 경우 l에서 r까지 세그먼트의 숫자에 k를 곱해야 합니다. .

두 번째 경우에는 i 위치에 숫자를 출력하세요.

요소는 1에서 n까지 번호가 지정됩니다.

 

<헤드> <일># <몸>
입력 출력
1
5
1 1 1 1 1
<사업부>3 <사업부>? 3 <사업부>* 2 3 9 <사업부>? 3
1
9