輸入一個長度為n的整數序列,
接下來再輸入m個詢問,每個詢問輸入一對l, r,
對于每個詢問,輸出原序列中從第l個數到第r個數的和,
輸入格式
第一行包含兩個整數n和m,
第二行包含n個整數,表示整數數列,
接下來m行,每行包含兩個整數l和r,表示一個詢問的區間范圍,
輸出格式
共m行,每行輸出一個詢問的結果,
資料范圍
1≤l≤r≤n1≤l≤r≤n,
1≤n,m≤1000001≤n,m≤100000,
?1000≤數列中元素的值≤1000?1000≤數列中元素的值≤1000
輸入樣例:
5 3
2 1 3 6 4
1 2
1 3
2 4
輸出樣例:
3
6
10
代碼:
import java.math.BigInteger; import java.util.Scanner; public class Main { static final int max=100005; static int a[]=new int[max]; static int s[]=new int [max]; public static void main(String[] args) { Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int c=scan.nextInt(); for(int i=1;i<=n;i++) a[i]=scan.nextInt(); for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i]; while(c-->0){ int l=scan.nextInt(); int r=scan.nextInt(); System.out.println(s[r]-s[l-1]); } } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/107635.html
標籤:其他
下一篇:演算法系列 - 01 二分思想
