语文成绩

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

语文考试结束了,成绩还是一如既往地有问题。

题目描述

语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。她总是要一遍遍地给某些同学增加分数,又要注意最低分是多少。你能帮帮她吗?

输入格式

第一行有两个整数 nnpp,代表学生数与增加分数的次数。

第二行有 nn 个数,a1ana_1 \sim a_n,代表各个学生的初始成绩。

接下来 pp 行,每行有三个数,xxyyzz,代表给第 xx 个到第 yy 个学生每人增加 zz 分。

输出格式

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

输入输出样例 #1

输入 #1

3 2
1 1 1
1 2 1
2 3 1

输出 #1

2

说明/提示

对于 40%40\% 的数据,有 n103n \le 10^3

对于 60%60\% 的数据,有 n104n \le 10^4

对于 80%80\% 的数据,有 n105n \le 10^5

对于 100%100\% 的数据,有 n5×106n \le 5\times 10^6pnp \le n,学生初始成绩 100 \le 100z100z \le 100

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
	int n,p,x,y,z,m=1000;
	cin>>n>>p;
	int a[n+5]={0},b[n+5]={0};
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
        a[i]=b[i]-b[i-1];
	}
    for(int i=1;i<=p;i++)
    {
        cin>>x>>y>>z;
        a[x]+=z;
        a[y+1]-=z;
    }
    for(int i=1;i<=n;i++)
    {
        b[i]=a[i]+b[i-1];
    }
    sort(b+1,b+n+1);
    cout<<b[1];
	return 0;
}

一月作业

未认领
状态
已结束
题目
21
开始时间
2026-1-6 18:00
截止时间
2026-2-28 23:59
可延期
24 小时