求各位谷民帮解一下 /_ \

P1253 扶苏的问题

fangjunfeng34 @ 2024-10-19 20:44:50

@一扶苏一 #10数据太大啦下不了
90求解
代码

#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;
}

by fangjunfeng34 @ 2024-10-19 20:51:47

@一扶苏一


by louiesun @ 2024-10-19 21:03:50

@fangjunfeng34 ? 打算N方过百万?

算法性能问题。请使用正确的数据结构。


|