题解 | 【模板】前缀和
【模板】前缀和
https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 1.读入数据
int n = in.nextInt(), q = in.nextInt();
int[] arr = new int[n+1];
for (int i = 1; i <= n; i++) {
arr[i] = in.nextInt();
}
// 2.预处理一个前缀和数组
long[] dp = new long[n + 1]; // 防止溢出
for (int i = 1; i <= n; i++) {
dp[i] = dp[i - 1] + arr[i];
}
// 3.使用前缀和数组
while (q > 0) {
int l = in.nextInt(), r = in.nextInt();
System.out.println(dp[r] - dp[l - 1]);
q--;
}
}
}
