比赛 CSP2022提高组 评测结果 AAAAAAAAAAAATTTTTTTT
题目名称 策略游戏 最终得分 60
用户昵称 ムラサメ 运行时间 8.538 s
代码语言 C++ 内存使用 3.71 MiB
提交时间 2022-10-30 11:34:25
显示代码纯文本
#include<bits/stdc++.h>
#define inf 9223372036854775807
#define ll long long
using namespace std;
const int N=1e5+10;
ll n,m,a[N],b[N],q;
bool l=1;
int main(){
	freopen("csp2022_game.in","r",stdin);
	freopen("csp2022_game.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m>>q;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]<=0)l=0;
	}
	for(int i=1;i<=m;i++){
		cin>>b[i];
		if(b[i]<=0){
			l=0;
		}
	}
	if(l==1){
		for(int i=1;i<=q;i++){
			ll a1,b1,a2,b2,max1=-inf,min1=inf;
			cin>>a1>>b1>>a2>>b2;
			for(int j=a1;j<=b1;j++){
				max1=max(max1,a[j]);
			}
			for(int k=a2;k<=b2;k++){
				min1=min(min1,b[k]);
			}
			cout<<max1*min1<<endl;
		}
	}
	else{
		for(int i=1;i<=q;i++){
			int a1,b1,a2,b2;
			ll ans=-inf;
			cin>>a1>>b1>>a2>>b2;
			for(int j=a1;j<=b1;j++){
				ll minn=inf;
				for(int k=a2;k<=b2;k++){
					minn=min(minn,a[j]*b[k]);
				}
				ans=max(minn,ans);
			}
			cout<<ans<<endl;
		}
	}
	return 0;
 }