#include<bits/stdc++.h>
using namespace std;
int a[1000005],x[1000005],n,m,k,l,r,c,t;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>k;
if(k==1)
{
cin>>l>>r>>c;
for(int j=l;j<=r;j++)
a[j]+=c;
}
if(k==2)
{
cin>>l>>r;
int b=a[1];
for(int j=l;j<=r;j++)
{
if(a[j]>b)b=a[j];
}
x[++t]=b;
}
}
for(int i=1;i<=t;i++)
cout<<x[i]<<endl;
return 0;
}

1 条评论

  • @ 2023-06-28 07:55:58

    #include<bits/stdc++.h>
    using namespace std;
    int a[1000005],x[1000005],n,m,k,l,r,c,t;
    int main()
    {
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    cin>>m;
    for(int i=1;i<=m;i++)
    {
    cin>>k;
    if(k==1)
    {
    cin>>l;
    cin>>r;
    cin>>c;
    for(int j=l;j<=r;j++)
    a[j]+=c;
    }
    else
    {
    cin>>l;
    cin>>r;
    int b=INT_MIN;
    for(int j=l;j<=r;j++)
    {
    if(a[j]>b)b=a[j];
    }
    x[++t]=b;
    }
    }
    for(int i=1;i<=t;i++)
    cout<<x[i]<<endl;
    return 0;
    }

    //正确啦

  • 1

信息

ID
1144
难度
6
分类
数据结构 | 线段树 点击显示
标签
递交数
21
已通过
10
通过率
48%
上传者