Upit
의견: 0
Mirko got tired of implementing all kinds of data structures for different tasks, so he decided to come up with the ultimate structure, one that will allow him to manipulate his favourite number sequence. Help him!
Mirko will give you his number sequence and a sequence of queries you must execute. Each query either asks for information or modifies the existing sequence. The possible query types are:
1 A B X— set all elements from the \(A\)-th to the \(B\)-th (inclusive) to value \(X\).
$$ (9, 8, 7, 6, 5, 4, 3, 2, 1) \;\xrightarrow{\;1\ 3\ 5\ 0\;}\; (9, 8, 0, 0, 0, 4, 3, 2, 1) $$2 A B X— add \(X\) to the \(A\)-th element, \(2X\) to the \((A{+}1)\)-th, \(\ldots\), and \((B{-}A{+}1)\,X\) to the \(B\)-th element.
$$ (9, 8, 7, 6, 5, 4, 3, 2, 1) \;\xrightarrow{\;2\ 3\ 5\ 2\;}\; (9, 8, 9, 10, 11, 4, 3, 2, 1) $$3 C X— insert a new element with value \(X\) immediately before the \(C\)-th element.
$$ (9, 8, 7, 6, 5, 4, 3, 2, 1) \;\xrightarrow{\;3\ 4\ 100\;}\; (9, 8, 7, 100, 6, 5, 4, 3, 2, 1) $$4 A B— find the sum of all elements from the \(A\)-th to the \(B\)-th. For \((2, 18, 7, 6, 1, 4, 7, 7, 2)\), the query \(4\ 6\ 7\) gives \(4 + 7 = 11\).
The first line of input contains integers \(N\) and \(Q\) (\(1 \le N, Q \le 100\,000\)), the starting sequence length and the number of queries.
The following line contains the starting sequence. It consists of non-negative integers not greater than \(100\,000\) separated by a single space.
The following \(Q\) lines contain the queries in the format described above. In all queries, \(1 \le X \le 100\), \(1 \le A \le B \le \text{currentSequenceLength}\), and \(1 \le C \le \text{currentSequenceLength} + 1\).
For each query of type \(4\), output one line containing the requested sum.
Note: some sums won't fit into a \(32\)-bit integer data type.
| 서브태스크 | 점수 | 설명 |
|---|---|---|
Test 1 | 10점 | None |
Test 2 | 10점 | None |
Test 3 | 10점 | None |
Test 4 | 10점 | None |
Test 5 | 10점 | None |
Test 6 | 10점 | None |
Test 7 | 10점 | None |
Test 8 | 10점 | None |
Test 9 | 10점 | None |
Test 10 | 10점 | None |
5 5
1 2 3 4 5
1 5 5 0
4 4 5
4 5 5
2 1 5 1
4 1 54
0
251 7
100
3 1 17
3 2 27
3 4 37
4 1 1
4 2 2
4 3 3
4 4 417
27
100
37평가 및 의견
Upit
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
Upit