4449: 【作】【入门】修正成绩(2121)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:6
解决:4
题目描述
某校期中考试结束,学校采用一台阅卷机阅卷。老师在检查大家的成绩时,发现阅卷机阅卷有误,因此不得不手动调整大家的成绩。
现已知有 个同学成绩,需要做 次调整,每次调整操作都是将第 个同学到第 个同学每位同学成绩都加上 分。
请问:经过调整后,全班同学成绩的最低分是多少分?
输入
第一行有两个整数 ,代表学生数与增加分数的次数。
第二行有 个数,,代表各个学生的初始成绩。
接下来 行,每行有三个数,,代表给第 个到第 个学生每人增加 分。
数据范围
,,,学生初始成绩,。
输出
输出仅一行,代表更改分数后,全班的最低分。
样例输入 复制
3 2
1 1 1
1 2 1
2 3 1
样例输出 复制
2
提示
#include<bits/stdc++.h>
using namespace std;
const int N=5000010;
int b[N],n,p,x,y,z,t,ans=0x3f3f3f3f;
int main(){
scanf("%d%d",&n,&p);
for(int i=1;i<=n;i++) {
scanf("%d",&t);
b[i]+=t;
b[i+1]-=t;
}
for(int i=1;i<=p;i++) {
scanf("%d%d%d",&x,&y,&z);
b[x]+=z;
b[y+1]-=z;
}
for(int i=1;i<=n;i++) {
b[i]=b[i]+b[i-1];
ans=min(ans,b[i]);
}
printf("%d",ans);
return 0;
}