修正成绩(2121)

某校期中考试结束,学校采用一台阅卷机阅卷。teacher在检查大家的成绩时,发现阅卷机阅卷有误,因此不得不手动调整大家的成绩。

现已知有 n 个同学成绩,需要做 p 次调整,每次调整操作都是将第
x 个同学到第 y 个同学每位同学成绩都加上 z 分。
请问:经过调整后,全班同学成绩的最低分是多少分?
输入
第一行有两个整数 ,n,p,代表学生数与增加分数的次数。
第二行有
n 个数,a1∼a n
,代表各个学生的初始成绩。接下来 p 行,每行有三个数,x,y,z,代表给第 x 个到第 y 个学生每人增加 z 分。

数据范围
n≤100000,p≤n,1≤x,y≤n,学生初始成绩≤100,z≤100。

输出
输出仅一行,代表更改分数后,全班的最低分。

样例
输入复制
3 2
1 1 1
1 2 1
2 3 1
输出复制
2
怎么写?

可参考以下代码:

#include <stdio.h>

int main() {
    int n, p;
    scanf("%d %d", &n, &p); // 输入学生数和增加分数的次数

    int scores[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &scores[i]); // 输入学生的初始成绩
    }

    for (int i = 0; i < p; i++) {
        int x, y, z;
        scanf("%d %d %d", &x, &y, &z); // 输入每次调整的操作

        // 将第x个到第y个学生每人增加z分
        for (int j = x - 1; j < y; j++) {
            scores[j] += z;
        }
    }

    // 查找最低分
    int minScore = scores[0];
    for (int i = 1; i < n; i++) {
        if (scores[i] < minScore) {
            minScore = scores[i];
        }
    }

    printf("%d\n", minScore);

    return 0;
}