#include<stdio.h>
#include<cstring>
#include<iostream>
#include <climits>
using namespace std;
signed long long n,m,q,temp1[100005],temp2[100005],matrix[5000][5000],l1,r1,l2,r2,ans=-LLONG_MAX;
//<summary>
//快速读取
//</summary>
inline int red() {
signed long long as = 0; signed long long fl = 1; char ch = getchar();
while(!isdigit(ch)) {if(ch == '-') fl = -1; ch = getchar();}
while(isdigit(ch)) {as = as * 10 + ch - '0'; ch = getchar();}
return as * fl;
}
//<summary>
//地图特殊点赋值
//</summary>
inline void init(){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)matrix[i][j]=temp1[i]*temp2[j];
}
}
//<summary>
//遍历Matrix地图
//</summary>
inline void slove(){
for(int a=1;a<=q;a++){
l1=red(),r1=red(),l2=red(),r2=red();
ans=-LLONG_MAX;
for(int i=l1;i<=r1;i++){
signed long long temp=LLONG_MAX;
for(int j=l2;j<=r2;j++){
temp=min(matrix[i][j],temp);
}
ans=max(ans,temp);
}
printf("%lld\n",ans);
}
}
//<summary>
//初始化函数
//</summary>
signed int main(){
// freopen("game.in","r",stdin);
// freopen("game.out","w",stdout);
n=red(),m=red(),q=red();
for(int i=1;i<=n;i++){
temp1[i]=red();
}
for(int i=1;i<=m;i++){
temp2[i]=red();
}
init();
slove();
return 0;
}
这点小代码竟然拿了60分的高分,没有任何分类讨论 但是后面几个点全部RE,不清楚是为什么