Toggle navigation
编绘童年
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
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