rt
话说我这么暴力做应该不是正解吧(
#include<bits/stdc++.h>
using namespace std;
long long i,a[234567],b=1,l,r,lf,rf,la,ra,q,n,j,k,u=1073741824;bool t;
int main()
{
cin>>n>>q;
for(i=1;i<=n;i++) cin>>a[i];
for(i=1;i<=q;i++)
{
cin>>b>>l>>r;
if(b==1)
{
a[l]=r;
continue;
}
if(l-r>=61)
{
cout<<"Too large\n";
continue;
}
b=0;lf=-1;la=ra=1;t=0;
for(j=l;j<=r;j++)
{
if(a[j]<0)
{
rf=j;
if(lf==-1) lf=j;
b++;
}
}
if(b%2==0)
{
for(j=l;j<=r;j++)
{
la*=abs(a[j]);
if(la>u)
{
cout<<"Too large\n";t=1;break;
}
}
if(!t) cout<<la<<endl;
continue;
}
for(j=l;j<rf;j++)
{
la*=abs(a[j]);
if(la>u)
{
cout<<"Too large\n";t=1;break;
}
}
if(t) continue;
for(j=lf+1;j<=r;j++)
{
ra*=abs(a[j]);
if(ra>u)
{
cout<<"Too large\n";t=1;break;
}
}
if(!t) cout<<max(la,ra)<<endl;
}
return 0;
}