题目描述
鄞州区青少年“船过三峡”创意航海模型比赛是鄞州独创的益智航海创意科技项目,从2014年开始创设。已经历8个春秋。“船过三峡”创意航海项目设计是在传统航海模型的基础上增加障碍难度,让选手克服重重困难,激励选手不断改进创新设计,结合实践经验逐步完善自己的设想,以2节五号碱性电池为能源,但方向舵控制方式不能用任何电子装置,让模型船经入口通过3道错位的航道门,三个航道门分别起名瞿塘峡、巫峡、西陵峡,这就是“船过三峡”的由来。
该项目的选手得分由各个环节的得分相加而来。总共有n(4<=n<=5 0 0)个环节,裁判老师需要进行q(1<=q<=5 0 0)次查询,每次查询给出两个整数si和ei(1<=si、ei<=n)表示各个环节的索引,请帮忙求出每次查询得到的分数。
输入
第1行:两个空格分隔的整数:n和q
第2行到n+1行:第i+1行表示第i个环节的得分:hi
第n+2行到第n+q+1行:用一对整数描述查询区间:si和ei
输出
第1行到q行:包含一个整数,它是从si到ei之间各个环节的得分总和。
样例输入 Copy
4 2 5 8 12 6 1 3 2 4
样例输出 Copy
25 26
提示
样例解释:从第1环节到第3环节的得分总和5+8+12=25;从第2环节到第4环节的得分总和8+12+6=26
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int a[555],s[555];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,q;
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
s[i]=s[i-1]+a[i];
}
int x,y;
for(int i=1;i<=q;i++)
{
cin>>x>>y;
cout<<s[y]-s[x-1]<<"\n";
}
return 0;
}