JZOJ __Day 3:【NOIP普及模拟】求和(sum)
生活随笔
收集整理的這篇文章主要介紹了
JZOJ __Day 3:【NOIP普及模拟】求和(sum)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
小x有很多糖果,分成了 N 堆,排成一列。小x說,如果小y能迅速求出第 L 堆到第 R 堆一 共有多少糖果,就把這些糖果都給他。? ? 現在給出每堆糖果的數量,以及每次詢問的 L 和 R,你需要幫助小y,把每次詢問的結果求出來。 注意,你不需要考慮糖果被小y取走的情況。
輸入
第 1 行2 個整數 N, M, 分別表示堆數和詢問數量。第 2 行N 個整數 Ai,表示第 i 堆糖果的數 量。
第 3- (M + 2) 行,每行 2 個整數 Li, Ri,表示第 i 個詢問是 [Li, Ri]。
輸出
M 行,對于每個詢問,輸出對應的和。樣例輸入
5 51 2 3 4 51 52 43 31 33 5樣例輸出
1593612數據范圍限制
對于 50% 的數據:1 ≤ N, M ≤ 100。對于 100% 的數據:1 ≤ N,M ≤ 100000,0 ≤ Ai ≤ 10000,1 ≤ Li ≤ Ri ≤ N。
題意
求出第 L 堆到第 R 堆一 共有多少糖果
分析
輸入時,設a[i]表示前i個數的和,則得a[i]=a[i]+a[i-1];
a[r]-a[l-1]表示第 L 堆到第 R 堆一 共有多少糖果。
最后輸出?a[r]-a[l-1]
程序:
var n,m,i,l,r:longint; a:array[0..100000]of int64; beginreadln(n,m);a[0]:=0;for i:=1 to n dobeginread(a[i]);a[i]:=a[i]+a[i-1];end;readln;for i:=1 to m dobeginreadln(l,r);writeln(a[r]-a[l-1]);end; end.
轉載于:https://www.cnblogs.com/YYC-0304/p/9500102.html
總結
以上是生活随笔為你收集整理的JZOJ __Day 3:【NOIP普及模拟】求和(sum)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JZOJ__Day 3:【NOIP普及模
- 下一篇: JZOJ__Day 3:【NOIP普及模