比赛 十一中校庆欢乐赛 评测结果 AAAAAAAWWW
题目名称 求和问题 最终得分 70
用户昵称 384226056 运行时间 0.621 s
代码语言 C++ 内存使用 0.35 MiB
提交时间 2014-10-23 19:34:45
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int lowbit(int q)
{
	return q&(-q);
}
int a[10001],b[10001]={0},c,d,e,f;
long long sum(int q)
{
	if (q==lowbit(q)) return b[q];
	return b[q]+sum(q-lowbit(q));
}
int main()
{
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	cin>>c;
	for (int m=1;m<=c;m++)
	scanf("%d",&a[m]);
	for (int m=1;m<=c;m++)
	  for (int n=m-lowbit(m)+1;n<=m;n++)
	    b[m]+=a[n];
	cin>>d;
	for (int m=1;m<=d;m++)
	  {
	  	scanf("%d%d",&e,&f);
	  	printf("%lld\n",sum(f)-sum(e-1));
	  }
}