完全不会做(悲鸣)
#include<bits/stdc++.h>
using namespace std;
int n,q,p,l,r,a[50001],point=1;
int maxn[50001];
void remaxn(int y,int x){
for(int i=y-1;i<=x;i++)
maxn[i]=1;
return ;
}
int main()
{
cin>>n>>q;
for(int i=1;i<=n;i++)
cin>>a[i];
remaxn(1,n);
for(int i=1;i<=q;i++){
cin>>p>>l>>r;
if(p==1){
a[l]=r;
}else{
for(int j=l;j<=r;j++){
if(a[j]>=1)
maxn[point]*=a[j];
else
point++;}
for(int j=1;j<=point;j++){
if(maxn[point]<maxn[point-1])
maxn[point]=maxn[point-1];
}
if(maxn[point]>1073741824)
cout<<"Too large";
else
cout<<maxn[point]<<endl;
remaxn(1,point);
point=1;
}
}
return 0;
}