社区讨论
求各位谷民帮解一下 /_ \
P1253扶苏的问题参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m2g5lnr7
- 此快照首次捕获于
- 2024/10/19 20:47 去年
- 此快照最后确认于
- 2025/11/04 16:47 4 个月前
@一扶苏一 #10数据太大啦下不了
90求解
代码
CPP90求解
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,q,a[1000010];//pre[1000010],net[1000010];
void one(int l,int r,ll x){
for(int i=l;i<=r;i++) a[i]=x;
}
void two(int l,int r,ll x){
for(int i=l;i<=r;i++) a[i]+=x;
}
ll san(int l,int r){
ll maxn=-9223372036854775808;
for(int i=l;i<=r;i++) maxn=max(maxn,a[i]);
return maxn;
}
int main(){
scanf("%lld %lld",&n,&q);
for(ll i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(ll i=1;i<=q;i++){
int op,l,r;
ll x;
cin>>op;
if(op==1){
cin>>l>>r>>x;
one(l,r,x);
}
else if(op==2){
cin>>l>>r>>x;
two(l,r,x);
}
else if(op==3){
cin>>l>>r;
printf("%lld\n",san(l,r));
}
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...