记录编号 457416 评测结果 AAAAAAAAAA
题目名称 求和问题 最终得分 100
用户昵称 GravatarWHZ0325 是否通过 通过
代码语言 C++ 运行时间 0.615 s
提交时间 2017-10-07 21:22:57 内存使用 0.36 MiB
显示代码纯文本
#include <cstdio>
typedef long long int ll;
int n;
ll bit[10005];
void add(int x,ll d) {
	while(x<=n) {
		bit[x]+=d;
		x+=x&-x;
	}
}
ll sum(int x) {
	ll ret=0;
	while(x>0) {
		ret+=bit[x];
		x-=x&-x;
	}
	return ret;
}
int main() {
	freopen("sum.in","r",stdin);
	freopen("sum.out","w",stdout);
	scanf("%d",&n);
	ll element;
	for(int i=1;i<=n;i++) {
		scanf("%lld",&element);
		add(i,element);
	}
	int m;
	scanf("%d",&m);
	int i,j;
	while(m--) {
		scanf("%d%d",&i,&j);
		printf("%lld\n",sum(j)-sum(i-1));
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}