为什么会超时
  • 板块P2367 语文成绩
  • 楼主reasa
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/6 07:55
  • 上次更新2024/7/6 10:32:46
查看原帖
为什么会超时
421454
reasa楼主2024/7/6 07:55

rt,样例是能过的,感觉写的差分没啥问题,但是全TLE

#include <bits/stdc++.h>
using namespace std;
inline int read(){
	int x = 0,f = 1;
	char c = getchar();
	while (!isdigit(c)){
		if (c == '-'){
			f = -1;
			c = getchar();
		}
	}
	while (isdigit(c)){
		x = x*10+c-'0';
		c = getchar();
	}
	return x*f;
}
int a[100100],d[100100];
signed main(){
	int ans = 101111;
	int n = read(),p = read();
	for (int i=1;i<=n;i++){
		a[i] = read();
	}
	for (int i=1;i<=n;i++){
		d[i] = a[i]-a[i-1];
	}
	for (int i=0;i<p;i++){
		int x = read(),y = read(),z = read();
		d[x]+=z;
		d[y+1]-=z;
	}
	for (int i=1;i<=n;i++){
		a[i] = a[i-1]+d[i];
		if (ans>a[i]){
			ans = a[i];
		}
	}
	cout<<ans<<endl;
	return 0;
}
2024/7/6 07:55
加载中...