AT_past202303_o.区間ソートクエリ

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \dots, A_N),其中每个数的取值范围为 00 到 1010(包括 00 和 1010)。
你需要按顺序处理 QQ 个操作。

每个操作包含三个整数 CC、LL 和 RR,根据 CC 的值,执行以下操作:

  • 如果 C=1C = 1:将 AL,AL+1,…,ARA_L, A_{L+1}, \dots, A_R 升序排序。
  • 如果 C=2C = 2:将 AL,AL+1,…,ARA_L, A_{L+1}, \dots, A_R 降序排序。
  • 如果 C=3C = 3:输出 ∑i=LRAi\displaystyle \sum_{i=L}^R A_i。

输入格式

输入由标准输入给出,格式如下,其中 Queryi\text{Query}_i 表示第 ii 个操作:

N Q A1 A2 … AN Query1 Query2 ⋮ QueryQN\ Q\ A_1\ A_2\ \dots\ A_N\ \text{Query}_1\ \text{Query}_2\ \vdots\ \text{Query}_Q

每个操作格式为:

C L RC\ L\ R

输出格式

对于每个 C=3C=3 的操作,输出一行。
第 ii 行(1≤i≤T1 \leq i \leq T)输出第 ii 个 C=3C=3 操作的答案。

输入输出样例

  • 输入#1

    5 5
    1 0 8 2 10
    3 2 4
    1 1 4
    3 2 4
    2 3 5
    3 2 4

    输出#1

    10
    11
    19

说明/提示

样例解释 1

初始时,A=(1,0,8,2,10)A = (1, 0, 8, 2, 10)。
第一个操作,输出 0+8+2=100+8+2=10。
第二个操作后,AA 变为 (0,1,2,8,10)(0,1,2,8,10)。
第三个操作,输出 1+2+8=111+2+8=11。
第四个操作后,AA 变为 (0,1,10,8,2)(0,1,10,8,2)。
第五个操作,输出 1+10+8=191+10+8=19。

数据范围

  • 1≤N≤5×1051 \leq N \leq 5 \times 10^5
  • 1≤Q≤2×1041 \leq Q \leq 2 \times 10^4
  • 0≤Ai≤100 \leq A_i \leq 10
  • 1≤C≤31 \leq C \leq 3
  • 1≤L≤R≤N1 \leq L \leq R \leq N
  • 输入的所有值均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页