题目
前缀和
题解
前缀和模板
太简单了就多加了点东西:对比cin cout和scanf printf的耗时对比
代码
#include <iostream>
using namespace std;
const int N = 100010;
int n, m;
int a[N], s[N];
int main(){
scanf("%d%d", &n, &m);
//原数组
for (int i = 1; i <= n; i ++ )
scanf("%d", &a[i]);
//前缀和数组初始化
for (int i = 1; i <= n; i ++ )
s[i] = s[i - 1] + a[i];
//这是第一种输入输出方式
while(m --){
int l, r;
cin >> l >> r;
cout << s[r] - s[l - 1] << endl;
}
//这是第二种输入输出方式
while (m -- ){
int l, r;
scanf("%d%d", &l, &r);
printf("%d\n", s[r] - s[l - 1]); // 区间和的计算
}
return 0;
}
结论
可以看到时间差了很远很远!!!,所以追求速度的话输入一定要用scanf