SegmentTree Base 2

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho n số nguyên \(a_1,a_2, \ldots,a_n\). Hãy thực hiện \(Q\) truy vấn, mỗi truy vấn có \(1\) trong \(2\) dạng:

  • \(1\) \(u\) \(v\) \(\Delta\): Tăng các giá trị \(a_u,a_{u+1},\ldots,a_v\) lên một lượng \(\Delta\)
  • \(2\) \(k\): In ra giá trị \(a_k\)

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n,Q\) \((1 \leq n,Q\leq 2\times 10^5)\)
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,\ldots,a_n\)
  • \(Q\) dòng tiếp theo, mỗi dòng mô tả một truy vấn lần lượt thực hiện theo một trong hai dạng mô tả trên. Chú ý \(1 \leq \Delta \leq 10^9;1 \leq u \leq v \leq n;1 \leq k \leq n\)

Output

  • Với mỗi truy vấn loại \(2\) in một số nguyên trên một dòng là kết quả tìm được

Example

Test 1

Input
8 3
3 2 4 5 1 1 5 3
2 4
1 2 5 1
2 4
Output
5
6

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.