#T2242. 反转与求和(Reversals and Sums)

反转与求和(Reversals and Sums)

链接: https://cses.fi/problemset/task/2074

板块: Advanced Techniques

时限: 1.00 s | 内存: 512 MB

题目描述

给定一个包含 nn 个整数的数组,你需要处理以下两类操作:

  1. 反转一个子数组
  2. 计算一个子数组内元素的和

输入

第一行有两个整数 nnmm:数组大小与操作次数。数组元素编号为 1,2,,n1,2,\dots,n

下一行有 nn 个整数 x1,x2,,xnx_1,x_2,\dots,x_n:数组的内容。

最后有 mm 行描述操作。每行有三个整数 ttaabb。若 t=1t=1,则反转从 aabb 的子数组;若 t=2t=2,则计算从 aabb 的元素之和。

输出

对每个 t=2t=2 的操作,输出其答案。

数据范围

1n21051 \le n \le 2 \cdot 10^5 1m1051 \le m \le 10^5 0xi1090 \le x_i \le 10^9 1abn1 \le a \le b \le n

样例输入

8 3
2 1 3 4 5 3 4 4
2 2 4
1 3 6
2 2 4

样例输出

8
9