求救
查看原帖
求救
809708
whssy楼主2023/7/29 09:15
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int INF=0x3f3f3f3f;
template<typename T>
inline void in(T &x){
	char c=getchar();bool f=0;
	while (c<'0'||c>'9') {
		if (c=='-') f=1;
		c=getchar();
	}
	for (x=0;c>='0'&&c<='9';c=getchar())
		x=(x<<3)+(x<<1)+(c&15);
	x=f?-x:x;
}
template<typename T>
inline void out(T x){
	if(x<0) putchar('-'),x=-x;
	if(x/10) out(x/10);
	putchar((x%10)|48);
}
const int N=1e5+5;
int n,m,q;
int st1[N][27],st2[N][27];
int st5[N][27],st6[N][27];
int st3[N][27],st4[N][27];
int lg[N];
int a[N],b[N];
signed main(){
	in(n);in(m);in(q);
	lg[0]=-1;
	for(register int i=1;i<=max(n,m);i++)
		lg[i]=lg[i>>1]+1;
	for(register int i=1;i<=n;i++)
		in(a[i]);
	for(register int i=1;i<=m;i++)
		in(b[i]);
	for(int i=1;i<=n;i++){
		st1[i][0]=a[i];
		st2[i][0]=a[i];
		st5[i][0]=a[i]>=0?a[i]:INF;
		st6[i][0]=a[i]<0?a[i]:-INF;
	}
	for(register int k=1;k<=lg[n];k++)
		for(register int i=1;i+(1<<k)-1<=n;i++){
			st1[i][k]=max(st1[i][k-1],st1[i+(1<<k-1)][k-1]);
			st2[i][k]=min(st2[i][k-1],st2[i+(1<<k-1)][k-1]);
			st5[i][k]=min(st5[i][k-1],st5[i+(1<<k-1)][k-1]);
			st6[i][k]=max(st6[i][k-1],st6[i+(1<<k-1)][k-1]);
		}
	for(int i=1;i<=m;i++){
		st3[i][0]=b[i];
		st4[i][0]=b[i];
	}
	for(register int k=1;k<=lg[m];k++)
		for(register int i=1;i+(1<<k)-1<=m;i++){
			st3[i][k]=max(st3[i][k-1],st3[i+(1<<k-1)][k-1]);
			st4[i][k]=min(st4[i][k-1],st4[i+(1<<k-1)][k-1]);
		}
	while(q--){
		int l1,r1,l2,r2;
		in(l1);in(r1);in(l2);in(r2);
		int mia=lg[r1-l1],mib=lg[r2-l2];
		int _1=max(st1[l1][mia],st1[r1-(1<<mia)+1][mia]);
		int _2=min(st2[l1][mia],st2[r1-(1<<mia)+1][mia]);
		int _3=max(st3[l2][mib],st3[r2-(1<<mib)+1][mib]);
		int _4=min(st4[l2][mib],st4[r2-(1<<mib)+1][mib]);
		int _5=min(st5[l1][mia],st5[r1-(1<<mia)+1][mia]);
		int _6=max(st6[l1][mia],st6[r1-(1<<mia)+1][mia]);
		int ans=_1*(_1>=0?_4:_3);
		ans=max(ans,_2*(_2>=0?_4:_3));
		if(_6!=-INF) ans=max(ans,_6*(_6>=0?_4:_3));
		if(_5!=INF) ans=max(ans,_5*(_5>=0?_4:_3));
		out(ans);
		putchar('\n');
	}
	return 0;
}

record

2023/7/29 09:15
加载中...