数组 - 区间和

46 阅读1分钟

卡码网58

image.png

image.png

import java.util.Scanner

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int n = scanner.nextInt();
        int [] vec = new int[n];
        int [] p = new int[n];
        
        int presum = 0; // 前缀和
        for (int i = 0; i < n; i++) {
            vec[i] = scanner.nextInt();
            presum += vec[i];
            p[i] = presum;
        }
        
        while (scanner.hasNextInt()) {
            int a = scanner.nextInt;
            int b = scanner.nextInt;
            
            int sum;
            if (a == 0) {
                sum = p[b];
            } else {
                sum = p[b] - p[a - 1];
            }
            System.out.println(sum);
        }
        scanner.close();
    }
}