70分暴力求调
查看原帖
70分暴力求调
339617
sqqxzh楼主2023/10/19 23:26
#include<bits/stdc++.h>
using namespace std;
inline long long read(){
	char ch=getchar();
	long long f=1,w=0;
	while(ch<'0'||ch>'9'){
		if(ch=='-'){
			f=-1;
		}
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		w=(w<<3)+(w<<1)+ch-'0';
		ch=getchar();
	}
	return w*f;
}
long long n,a[200001],q;
int main(){
	n=read();
	q=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
	}
	for(int i=0;i<q;i++){
		int num=read();
		if(num==1){
			int d=read();
			a[d]=read();
		}else{
			int l=read(),r=read();
			long long s=1,ms=1;
			bool flag=true;
			for(int j=l;j<=r;j++){
				s=1;
				for(int k=j;k<=r;k++){
					s*=a[k];
					if(s>(1<<30)+1){
						cout<<"Too large"<<endl;
						flag=false;
						break;
					}
					if(s>ms){
						ms=s;
					}
				}
				if(flag==false){
					break;
				}
			}
			if(flag){
				cout<<ms<<endl;
			}
		}
	}
	return 0;
}

2023/10/19 23:26
加载中...