简简单单
look 一下 题目:
话不多说,上个代码:
#include <iostream>
using namespace std;
long long A[1000010],t[1000100];
int main(){
long long n,q,i,l,r;
cin >> n >> q;
for(i = 1;i <= n;i++){
cin >> A[i];
t[i] = t[i - 1] + A[i];
}
for(i = 1;i <= q;i++){
cin >> l >> r;
cout << t[r] - t[l] + t[l] << endl;
}
return 0;
}
根据样例检测一下
结果输出为:
3
10
哈哈,说了半天,下面展示本人解题的主要思路
首先,画一张示意图,我们不难看出,图中L ~ R间的和就是1~R 的和减去1~L的和,所以,我们要建一个数组,来存储1 ~ 当前数的和,通过边输入边处理,来完成代码。
嘻嘻,我的解析到此结束!