4449: 【入门】修正成绩(2121)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:5
解决:3
题目描述
某校期中考试结束,学校采用一台阅卷机阅卷。老师在检查大家的成绩时,发现阅卷机阅卷有误,因此不得不手动调整大家的成绩。
现已知有 个同学成绩,需要做 次调整,每次调整操作都是将第 个同学到第 个同学每位同学成绩都加上 分。
请问:经过调整后,全班同学成绩的最低分是多少分?
输入
第一行有两个整数 ,代表学生数与增加分数的次数。
第二行有 个数,,代表各个学生的初始成绩。
接下来 行,每行有三个数,,代表给第 个到第 个学生每人增加 分。
数据范围
,,,学生初始成绩,。
输出
输出仅一行,代表更改分数后,全班的最低分。
样例输入 复制
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; }