Problem1531--递推-区间和

1531: 递推-区间和

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 359  Solved: 182
[Status] [Submit] [Creator:]

Description

假如有10个数
15 16 17 18 19 11 12 13 14 15
问第2个数到第4个数之和,那么答案就是16+17+18,这个称为区间和

Input

第一行一个整数n,表示有n个数。
第二行有n个整数。
第三行一个整数m,表示询问次数。
接下来m行每行两个整数l,r,表示询问区间,询问从第l个数到第r个数的和(n,l,r,m<=10^5)

Output

每行输出一个询问区间数字之和

Sample Input Copy

7
2  -4  3  -1  2  -4  3
3
1 2
3 5
2 6

Sample Output Copy

-2
4
-4

HINT

用一个a[]数组装数字
用到一个sum[]数组,装总和
sum[1]=a[1];
sum[2]=a[1]+a[2];
sum[3]=a[1]+a[2]+a[3];
......
sum[n]=a[1]+a[2]+a[3]+....+a[n-1]+a[n];

那么:
sum[10]-sum[5]=a[6]+a[7]+a[8]+a[9]+a[10];

求区间l~r之间的总和,那么就是
sum[r]-sum[l-1];

Source/Category

 提高B