#62. Lì xì ngày Tết (Mã bài: LIXI)

Bộ nhớ: 256 MiB Thời gian: 1000 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: Trùm CUỐI

Đề bài

Tết đến gần, Tít hứng khởi nhận những bao lì xì đầu tiên trong dịp tết. Hiện tại Tít có tổng cộng N bao lì xì, trong đó bao lì xì thứ i có số tiền là A_i . Vui chơi không quên kiến thức, cậu bé liền ôn lại một chút ít kiến thức toán học và cậu đã sử dụng đến những bao lì xì để làm điều đó. Cậu xếp N bao lì xì thành hàng ngang và đánh số từ 1 đến N từ trái qua phải. Tít định nghĩa giá trị “Phú Quý” của đoạn [L, R] là giá trị A_L + A_{L+1} + \dots + A_R hay đó là tổng số tiền mừng tuổi trong các bao lì xì từ vị trí L đến vị trí R . Tiếp theo, cậu chọn sẵn một số nguyên dương K và nhờ bố chuẩn bị cho cậu ta Q yêu cầu, và trong Q yêu cầu này thì có hai loại như sau:

  • 1\ i_1\ i_2\ \dots\ i_K (với i_t < i_{t+1}, \forall t \in [1, K-1] ): yêu cầu này đề nghị cậu bé xếp lại vị trí của K bao lì xì theo K vị trí chỉ định theo cách “dịch sang trái”. Tức là ban đầu K bao lì xì này xét theo thứ tự i_1, i_2, \dots, i_K A_{i_1}, A_{i_2}, \dots, A_{i_K} thì sau đó Tít phải sắp xếp lại thành A_{i_2}, A_{i_3}, \dots, A_{i_K}, A_{i_1} theo thứ tự vị trí đó.
  • 2\ L\ R\ M (với 1 \le L \le R \le N; M \le R - L + 1 ): nếu gặp yêu cầu này của bố, Tít sẽ phải đưa ra tổng của tất cả các giá trị “Phú Quý” của các đoạn [i, i + M - 1] i thỏa mãn L \le i \le i + M - 1 \le R .

Ban đầu, các câu hỏi của bố khá đơn giản, Tít có thể trả lời dễ dàng. Nhưng càng về sau, khi càng có nhiều bao lì xì hơn, Tít cảm thấy khó khăn và việc tính toán trở nên chậm hơn. Do đó, bạn hãy giúp Tít thực hiện các yêu cầu của bố.

Dữ liệu:

  • Dòng đầu gồm hai số nguyên dương N K ( 1 \le N \le 10^5; 1 \le K \le 10 ).
  • Dòng thứ hai gồm N giá trị A_1, A_2, \dots, A_N ( 0 \le A_i \le 10^6 ) – biểu thị số tiền mừng tuổi trong các bao lì xì của Tít.
  • Dòng thứ ba gồm một số nguyên dương Q ( 1 \le Q \le 10^5 ) – số lượng yêu cầu của bố.
  • Q dòng tiếp theo, mỗi dòng biểu diễn một trong hai loại yêu cầu kể trên.

Kết quả: Với mỗi yêu cầu loại 2\ L\ R\ M , hãy giúp Tít đưa ra kết quả trên một dòng.

Ví dụ:

Dữ liệu:

8 3
7 2 5 1 9 3 4 6
3
2 2 7 4
1 2 5 8
2 2 7 3

Kết quả:

52
50

Giải thích:

  • Với yêu cầu thứ nhất: mảng ban đầu là [7,2,5,1,9,3,4,6]. Đoạn cần xét là từ vị trí 2 đến 7, tức là [2,5,1,9,3,4]. Các đoạn con có độ dài 4 là [2,5,1,9], [5,1,9,3], [1,9,3,4]. Tổng giá trị "Phú Quý" của chúng là (2+5+1+9) + (5+1+9+3) + (1+9+3+4) = 17 + 18 + 17 = 52 .
  • Với yêu cầu thứ hai: thực hiện phép "dịch sang trái" với các phần tử ở vị trí 2, 5, 8. Các giá trị tương ứng là A_2=2, A_5=9, A_8=6 . Sau khi dịch, mảng trở thành [7,9,5,1,6,3,4,2].
  • Với yêu cầu thứ ba: mảng hiện tại là [7,9,5,1,6,3,4,2]. Đoạn cần xét là từ vị trí 2 đến 7, tức là [9,5,1,6,3,4]. Các đoạn con có độ dài 3 là [9,5,1], [5,1,6], [1,6,3], [6,3,4]. Tổng giá trị "Phú Quý" là (9+5+1) + (5+1+6) + (1+6+3) + (6+3+4) = 15 + 12 + 10 + 13 = 50 .

Giới hạn:

  • Subtask 1 (40%): 1 \le N, Q \le 10^4 K = 1 .
  • Subtask 2 (40%): 1 \le N, Q \le 10^5 K = 1 .
  • Subtask 3 (20%): Không giới hạn gì thêm.