| 记录编号 | 
        131048 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        36.求和问题 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         微凉徒眸意 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.534 s  | 
    
    
        | 提交时间 | 
        2014-10-23 20:21:18 | 
        内存使用 | 
        0.36 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		/*【问题描述】
    在一个长度为n的整数数列中取出连续的若干个数,并求它们的和。
【输入格式】
    输入由若干行组成,第一行有一个整数n
    第二行有n个整数
    第三行有一个整数m
    下面m行,每行两个整数i与j(i<=j),表示求和的起始和终止位置。
【输出格式】
    输出有m行, 每行一个整数,表示这个数段数列的和。
【输入样例】
输入文件
8
2 3 4 7 8 9 10 234 
5
2 3
4 7
1 3
7 7 
7 8 
 
输出文件
7 
34
9
10 
244
【数据规模】
对于40%的数据,n<=1000,m<=1000,数列中的数不超过32767,数列的和不超过10^9
对于70%的数据,n<=10000,m<=2*10^5,数列中的数不超过32767
对于100%的数据,n<=10000,m<=2*10^5,数列中的数不超过10^9*/
#include <stdio.h>
 
#define NMAX 10000
#define MMAX 100000
 
long long sum[NMAX+1];
 
int main(){
	int n,m;
	int s,t;
	int i;
 
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
 
	scanf("%d",&n);
	getchar();
	for(i=1;i<=n;i++){
		scanf("%lld",sum+i);
		getchar();
		sum[i]+=sum[i-1];
	}
 
	scanf("%d",&m);
	getchar();
	for(i=0;i<m;i++){
		scanf("%d%d",&s,&t);
		getchar();
		printf("%lld\n",sum[t]-sum[s-1]);
	}
	return 0;
}