#5575. CSES2074 反转与求和

0

CSES2074 反转与求和

#CS2074. 反转与求和

反转与求和

题目背景

翻译自 CSES-2074 题。

题目描述

给定一个包含 n 个整数的数组,您需要处理以下操作:

  • 反转一个子数组

  • 计算一个子数组中所有值的和

输入格式

第一行输入两个整数 n 和 m,分别表示数组的大小和操作的次数。数组中的元素编号为 1,2,...,n1, 2, ..., n1,2,...,n。

第二行输入 n 个整数 x1,x2,...,xnx_1, x_2, ..., x_nx1​,x2​,...,xn​,表示数组的内容。

接下来的 m 行描述了每次操作。每行包含三个整数 t, a 和 b。如果 t=1t = 1t=1,则表示需要反转从位置 a 到位置 b(包括 a 和 b)的子数组;如果 t=2t = 2t=2,则表示需要计算从位置 a 到位置 b(包括 a 和 b)的子数组的值的和。

输出格式

对于每个 t=2t = 2t=2 的操作,输出该操作的结果,即子数组的和。

样例

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

说明/提示

1n2×1051 \leq n \leq 2 \times 10^5

1m1051 \leq m \leq 10^5

0≤xi≤1090 \leq x_i \leq 10^90≤xi​≤109;

1abn1 \leq a \leq b \leq n