RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
COCI00192

Upit

Diamond II 다이아몬드 II
난이도
1s
시간 제한
128MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 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

예제 1
입력
5 5
1 2 3 4 5
1 5 5 0
4 4 5
4 5 5
2 1 5 1
4 1 5
출력
4
0
25
예제 2
입력
1 7
100
3 1 17
3 2 27
3 4 37
4 1 1
4 2 2
4 3 3
4 4 4
출력
17
27
100
37
문제 정보

riseoj 작성

출처 COCI 2010/2011 Contest 7

평가 및 의견

Upit

개요
출제자 난이도 Diamond II 다이아몬드 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Upit

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8