#include<bits/stdc++.h>
#include<iostream>
#include<vector>
#include<map>
#include<set>
#include<bitset>
#define int long long
#define spc <<" "<<
#define vi vector<int>
#define pii pair<int,int>
#define vpii vector<pair<int,int>>
#define dfab int a,b;cin>>a>>b;
#define dfa int a;cin>>a;
#define ff first
#define ss second
#define pb push_back
#define dfoutput if(cvp){cout<<"YES\n";}else{cout<<"NO\n";}
#define dfnarr int n;cin>>n;int arr[n];for(int i=0;i<n;i++){cin>>arr[i];}
#define mod 1000000007
#define mod2 998244353
#define inf 1e18
#define N 1e5+10
#define C 1e9+10
#define all(x) x.begin(),x.end()
using namespace std;
void solve() {
int n,q;cin>>n>>q;
int order=1;
int arr[n+1];
for(int i=1;i<=n;i++){
cin>>arr[i];
}
if(n==1){
int b;
for(int i=0;i<q;i++){
int a;cin>>a;
if(a==1 || a==2){
cin>>b>>b>>b>>b;
}
else{
cin>>b>>b;
cout<<1<<"\n";
}
}
return;
}
for(int i=1;i<n;i++){
if(arr[i]-arr[i-1]!=arr[1]-arr[0]){
order=0;
}
}
for(int i=0;i<q;i++){
int a;cin>>a;
if(a==1){
int l,r,c,s;cin>>l>>r>>s>>c;
if(l==1 && r==n){
if(!order){
for(int i=l;i<=r;i++){
arr[i]+=s+(i-l)*c;
}
}
}
else{
order=0;
for(int i=l;i<=r;i++){
arr[i]+=s+(i-l)*c;
}
}
}
if(a==2){
int l,r,c,s;cin>>l>>r>>s>>c;
if(l==1 && r==n){
if(!order){
for(int i=l;i<=r;i++){
arr[i]=s+(i-l)*c;
}
}
}
else{
order=0;
for(int i=l;i<=r;i++){
arr[i]=s+(i-l)*c;
}
}
}
if(a==3){
int l,r;cin>>l>>r;
int cvp=1;
int cur=1;
if(r>l){
if(order)cout<<n<<"\n";
else{
int k=arr[l+1]-arr[l];
for(int i=l+1;i<=r;i++){
if(arr[i]-arr[i-1]==k){
cur++;
}
else{
k=arr[i]-arr[i-1];
cur=2;
}
cvp=max(cvp,cur);
}
}
}
cout<<cvp<<"\n";
}
}
}
signed main(){
int t=1;
//cin>>t;
while(t--){
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |