40分,WA掉求助
查看原帖
40分,WA掉求助
351310
lsz_楼主2022/11/13 14:49
#include<bits/stdc++.h>
using namespace std;
long long n,m,q,i,j,x,t,a1,a2,b1,b2,ans,lg2a,lg2b,qwq,awa,amx,amn,angtv,apstv,bmx,bmn;
long long lg2[114514];
long long mxa[114514][1+9+1+9+8+1+0],mna[114514][1+9+1+9+8+1+0],ngtva[114514][1+9+1+9+8+1+0],pstva[114514][1+9+1+9+8+1+0],mxb[114514][1+9+1+9+8+1+0],mnb[114514][1+9+1+9+8+1+0];
int main()
{
	cin>>n>>m>>q;
	for(i=1;i<=n;i++)
	{
		cin>>x;
		mxa[i][0]=mna[i][0]=x;
		ngtva[i][0]=(x<0?x:-0x3f3f3f3f);
		pstva[i][0]=(x>=0?x:0x3f3f3f3f);
	}
	for(i=1;i<=m;i++)
	{
		cin>>x;
		mxb[i][0]=mnb[i][0]=x;
	}
	for(i=2;i<=max(n,m);i++)	lg2[i]=lg2[i>>1]+1;
	for(i=1;i<=lg2[n];i++)
	{
		for(j=1;j+(1<<i)-1<=n;j++)
		{
			t=j+(1<<(i-1));
			mxa[j][i]=max(mxa[j][i-1],mxa[t][i-1]);
			ngtva[j][i]=max(ngtva[j][i-1],ngtva[t][i-1]);
			mna[j][i]=min(mna[j][i-1],mna[t][i-1]);
			pstva[j][i]=min(pstva[j][i-1],pstva[t][i-1]);
		}
	}
	for(i=1;i<=lg2[m];i++)
	{
		for(j=1;j+(1<<i)-1<=m;j++)
		{
			t=j+(1<<(i-1));
			mxb[j][i]=max(mxb[j][i-1],mxb[t][i-1]);
			mnb[j][i]=min(mnb[j][i-1],mnb[t][i-1]);
		}
	}
	while(q--)
	{
		cin>>a1>>a2>>b1>>b2;
		ans=-0x3f3f3f3f;
		lg2a=lg2[a2-a1+1];
		lg2b=lg2[b2-b1+1];
		qwq=a2-(1<<lg2a)+1;
		awa=b2-(1<<lg2b)+1;
		amx=max(mxa[a1][lg2a],mxa[qwq][lg2a]);
		amn=min(mna[a1][lg2a],mna[qwq][lg2a]);
		angtv=max(ngtva[a1][lg2a],ngtva[qwq][lg2a]);
		apstv=min(pstva[a1][lg2a],pstva[qwq][lg2a]);
		bmx=max(mxb[b1][lg2b],mxb[awa][lg2b]);
		bmn=min(mnb[b1][lg2b],mnb[awa][lg2b]);
		ans=max(ans,amx*(amx>=0?bmn:bmx));
		ans=max(ans,amn*(amn>=0?bmn:bmx));
		if(angtv!=-0x3f3f3f3f)	ans=max(ans,angtv*(angtv>=0?bmn:bmx));
		if(apstv!=0x3f3f3f3f)	ans=max(ans,apstv*(apstv>=0?bmn:bmx));
		cout<<ans<<endl;
	}
	return 0;
}

大佬帮帮蒟蒻吧 rnm.png

2022/11/13 14:49
加载中...