Tăng giá trị đoạn [a,b]

Xem dạng PDF

Mô tả bài toán:

Cho một mảng gồm ~ n ~ số nguyên, nhiệm vụ của bạn là xử lý ~ q ~ truy vấn với hai loại sau:

  1. Tăng mỗi giá trị trong đoạn ~[a, b]~ thêm ~ u ~.
  2. Lấy giá trị tại vị trí ~ k ~.

Input:

  • Dòng đầu tiên chứa hai số nguyên ~ n ~ và ~ q ~: số lượng phần tử và số lượng truy vấn.
  • Dòng thứ hai chứa ~ n ~ số nguyên ~ x_1, x_2, \ldots, x_n ~: các giá trị trong mảng.
  • Tiếp theo có ~ q ~ dòng, mỗi dòng mô tả một truy vấn:
    • Truy vấn loại 1: "1 a b u" (Tăng mỗi giá trị trong đoạn ~[a, b]~ thêm ~ u ~).
    • Truy vấn loại 2: "2 k" (Lấy giá trị tại vị trí ~ k ~).

Output:

  • In ra kết quả của mỗi truy vấn loại 2.

Ràng buộc:

  • ~ 1 \leq n, q \leq 2 \cdot 10^5 ~
  • ~ 1 \leq x_i, u \leq 10^9 ~
  • ~ 1 \leq k \leq n ~
  • ~ 1 \leq a \leq b \leq n ~

Ví dụ:

Input:
8 3
3 2 4 5 1 1 5 3
1 2 4 5
2 2
2 4
Output:
7 
10

Giải thích:

  1. Truy vấn 1 (1 2 4 5): Tăng mỗi giá trị trong đoạn ~[2, 4]~ thêm ~5~, mảng trở thành [3, 7, 9, 10, 1, 1, 5, 3].
  2. Truy vấn 2 (2 2): Giá trị tại vị trí 2 là ~7~.
  3. Truy vấn 3 (2 4): Giá trị tại vị trí 4 là ~10~.



Bình luận

Hãy đọc nội quy trước khi bình luận.

Không có bình luận tại thời điểm này.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch