暴力出奇迹--90分
查看原帖
暴力出奇迹--90分
972576
LiDongchen666楼主2024/5/25 15:02
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e6 + 6;
inline int read(){
	int ret = 0, sgn = 0, ch = getchar();
	while(!isdigit(ch)) sgn |= ch == '-', ch = getchar();
	while(isdigit(ch)) ret = ret * 10 + ch - '0', ch = getchar();
	return sgn ? -ret : ret;
}
ll a[N];
signed main(){
	int n = read(), q = read(), i;
	for(i = 1; i <= n; i++) a[i] = read();
	while(q--){
		int op = read(), l = read(), r = read();
		if(op == 1){
			int x = read();
			for(i = l; i <= r; i++) a[i] = x;
		}else if(op == 2){
			int x = read();
			for(i = l; i <= r; i++) a[i] += x;
		}else{
			ll ans = -1e14;
			for(i = l; i <= r; i++)
				if(a[i] > ans) ans = a[i];
			printf("%lld\n", ans);
		}
	}
	return 0;
}

要不是测试点10文件太大(无法下载),我就AC了

2024/5/25 15:02
加载中...