题意
犇犇是一只贪玩的牛。他最喜欢的游戏是夹娃娃。已知有 n 个娃娃排成一排,犇犇可以控制夹子的位置和夹子的宽度。每个娃娃的价值为整数 w[i],犇犇想知道,他夹起的l 到r 个娃娃的总价值是多少
输入描述
第 1 行两个正整数 n,k。n 表示娃娃的个数,k 表示询问的次数
第 2 行 n 个正整数,表示数组 w,第 i 个数字表示 w[i]
接下来的 k 行,每行两个正整数 l,r。表示犇犇抓起来的娃娃的范围。
数据范围:
对于20%的数据,保证l=r
对于30%的数据,保证n<=100
对于20%的数据,保证k<=100
对于所有数据:
1<=n<=1e5, 1<=k<=1e6
1<=w[i]<=1e3
1<=l<=r<=n
输出描述
输出 k 行,每行一个数,表示从 l 到 r 的价值和。
解析
裸的前缀和题目,没什么坑点,会卡cin和cout,然后就没什么问题了代码
#include&amp;lt;bits/stdc++.h&amp;gt; #define js ios::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; typedef long long ll; const int MAXN=100005; ll sum[MAXN]; ll a[MAXN]; int main(void) { int n,m; scanf(&amp;quot;%d%d&amp;quot;,&amp;amp;n,&amp;amp;m); for(int i=1;i&amp;lt;=n;++i){ scanf(&amp;quot;%d&amp;quot;,&amp;amp;a[i]); sum[i]=sum[i-1]+a[i]; } int l,r; for(int i=1;i&amp;lt;=m;++i){ scanf(&amp;quot;%d%d&amp;quot;,&amp;amp;l,&amp;amp;r); printf(&amp;quot;%ld\n&amp;quot;,sum[r]-sum[l-1]); } return 0; }