求调
查看原帖
求调
808220
czz2008楼主2022/10/8 17:53

完全不会做(悲鸣)

#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;
}
2022/10/8 17:53
加载中...