社区讨论

java为啥最后一个超内存了

P2367语文成绩参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo39mv2e
此快照首次捕获于
2023/10/24 03:03
2 年前
此快照最后确认于
2023/10/24 03:03
2 年前
查看原帖
JAVA
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int p = scanner.nextInt();
        int []a = new int[n+2];
        //差分数组---保存前后差
        int []b = new int[n+2];
        for(int i = 1;i<=n;i++){
            a[i] = scanner.nextInt();
            b[i] = a[i] - a[i-1];
        }
        while((p--)>0){
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            int z = scanner.nextInt();
            b[x] += z;
            b[y+1] -= z;
        }
        int min = Integer.MAX_VALUE;
        //还原差分数组
        for(int i = 1;i<=n;i++){
            a[i] = b[i]+a[i-1];
            min = Math.min(min,a[i]);
        }
        System.out.println(min);
    }
}

回复

2 条回复,欢迎继续交流。

正在加载回复...