AcWing 4789. 前缀和序列
原题链接
中等
作者:
清风qwq
,
2022-12-31 21:17:13
,
所有人可见
,
阅读 151
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
long long a[N], b[N];
int main()
{
int n, m;
scanf("%d", &n);
for (int i = 1; i <= n; i ++ )
{
scanf("%d", &a[i]);
b[i] = a[i];
}
sort(b + 1, b + n + 1);
for (int i = 1; i <= n; i ++ ) a[i] += a[i - 1], b[i] += b[i - 1];
scanf("%d", &m);
while (m -- )
{
int op, l, r;
scanf("%d%d%d", &op, &l, &r);
if (op == 1) printf("%lld\n", a[r] - a[l - 1]);
else printf("%lld\n", b[r] - b[l - 1]);
}
return 0;
}