AcWing 4789. 前缀和序列
原题链接
中等
作者:
一酱饼子
,
2024-02-28 13:00:36
,
所有人可见
,
阅读 27
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N=100010;
LL q[N],p[N],Sq[N],Sp[N];
int n,m;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%lld",&q[i]);
p[i]=q[i];
Sq[i]=Sq[i-1]+q[i];
}
sort(p+1,p+n+1);
for(int i=1;i<=n;i++)
{
//printf("%d ",p[i]);
Sp[i]=Sp[i-1]+p[i];
}
//printf("\n");
cin>>m;
while(m--)
{
int op,l,r;
scanf("%d%lld%lld",&op,&l,&r);
if(op == 1)
{
printf("%lld\n",Sq[r]-Sq[l-1]);
}
else
{
printf("%lld\n",Sp[r]-Sp[l-1]);
}
}
return 0;
}