语文成绩

作者: qiqi 分类: 前缀和/差分 发布时间: 2025-10-24 18:22

提交链接

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

#include<bits/stdc++.h>
using namespace std;
#define N 5000001

long long d[N];//学生成绩的差分数组
int main()
{
	int n,m,t0 = 0,t1;
	int x,y,z;
	long long mmin,s=0;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&t1);
		d[i] = t1 - t0;
		t0 = t1;
	}
	
	while(m--)
	{
		scanf("%d%d%d",&x,&y,&z);
		d[x] += z;
		d[y+1] -= z;
	}

	mmin = d[1];
	for(int i=1;i<=n;i++)
	{
		s += d[i];
		if(s<mmin)mmin = s;
	}
	
	printf("%lld\n",mmin);
	return 0;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

标签云