A83452.双前缀求和

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的正整数数组 aa。把它升序排序后得到数组 bb(与 aa 的元素相同、只是顺序不同)。

你需要回答 mm 次区间求和询问。每次询问给出三个整数 t,,rt, \ell, r1rn1\le \ell \le r \le n):

t=1t=1,回答原数组区间和:a+a+1++ara_\ell + a_{\ell+1} + \cdots + a_r

t=2t=2,回答排序后数组区间和:b+b+1++brb_\ell + b_{\ell+1} + \cdots + b_r

输入格式

  • 第一行:一个整数 nn

  • 第二行:nn 个整数,表示数组 a1,a2,,ana_1,a_2,\dots,a_n

  • 第三行:一个整数 mm

  • 接下来 mm 行:每行三个整数 t, , rt,\ \ell,\ r

输出格式

输出共 mm 行。第 ii 行输出第 ii 次询问的答案。

输入输出样例

  • 输入#1

    5
    5 1 2 3 2
    4
    1 2 4
    2 2 4
    1 1 5
    2 1 3
    

    输出#1

    6
    7
    13
    5
    

说明/提示

  • 1n1051 \le n \le 10^5

  • 1ai1091 \le a_i \le 10^9

  • 1m1051 \le m \le 10^5

  • 1rn1 \le \ell \le r \le nt{1,2}t \in \{1,2\}

对于样例:

a=[5,1,2,3,2]a=[5,1,2,3,2]b=[1,2,2,3,5]b=[1,2,2,3,5]

t=1,[2,4]t=1,[2,4]: 1+2+3=61+2+3=6

t=2,[2,4]t=2,[2,4]: 2+2+3=72+2+3=7

t=1,[1,5]t=1,[1,5]: 5+1+2+3+2=135+1+2+3+2=13

t=2,[1,3]t=2,[1,3]: 1+2+2=51+2+2=5

首页