51nod1081---子段求和(51nod基础:前缀和)

来源:互联网 发布:电话假号软件 编辑:程序博客网 时间:2024/06/11 23:52

【题目来源】:https://www.51nod.com
【题意&&思路】
求l到l+dis区间的和,咋一看,还以为是非线段树不可。。
转念一想,或许前缀和就可以了。。。
【代码】

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;LL arr[50000+10];int main(){    int n;    scanf("%d",&n);    arr[0]=0;    for(int i=1;i<=n;i++)    {        scanf("%lld",&arr[i]);        arr[i]+=arr[i-1];    }    int q;    scanf("%d",&q);    while(q--)    {        int l,dis;        scanf("%d%d",&l,&dis);        printf("%lld\n",arr[l+dis-1]-arr[l-1]);    }}
原创粉丝点击