输入一个长度为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]); } } }