#10041. BITIMSQ - Thay đổi khoảng, Truy vấn đơn điểm

Bộ nhớ: 256 MiB Thời gian: 3000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Vũ Giang

Đề bài

Cho một dãy a_1, a_2, \dots, a_n , bạn cần thực hiện q truy vấn theo thứ tự. Có hai loại truy vấn:

  • 1\ l\ r\ x : Cho l,r,x , với tất cả i\in[l,r] , thay a_i = a_i + x ;
  • 2\ i : Cho i , tìm giá trị của a_i .

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên dương n, q , cho biết độ dài của dãy và số lượng truy vấn;
  • Dòng thứ hai chứa n số nguyên a_1, a_2, \dots, a_n đại diện cho dãy số ban đầu.
  • q dòng tiếp theo, mỗi dòng chứa mô tả một thao tác, là một trong hai thao tác trên:

Dữ liệu ra:

  • Đối với mỗi truy vấn loại 2\ i , xuất ra một dòng và mỗi dòng có một số nguyên đại diện cho kết quả mong muốn.

Ví dụ:

Dữ liệu vào:

3 2
1 2 3
1 1 3 0
2 2

Dữ liệu ra:

2

Giới hạn:

  • 1\le n,q\le 10^6 ;
  • |a_i|\le 10^6 ;
  • 1\le l\le r\le n ;
  • |x|\le 10^6 .