为什么暴力可以拿60?
查看原帖
为什么暴力可以拿60?
488669
IAKNOIP楼主2022/10/29 20:32
#include<bits/stdc++.h>
using namespace std;
long long int n,m,q,l1,l2,r1,r2,minn[10001],maxn[10001],c[8000][8000];
long long int a[10005],b[10005];
inline long long int read()
{
	long long int w=1,s=0;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){s=s*10+ch-48;ch=getchar();}
	return s*w;
}
int main()
{
	//freopen("T2i.txt","r",stdin);
	//freopen("T2.txt","w",stdout);
	cin>>n>>m>>q;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=m;i++)
		cin>>b[i]; 
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			c[i][j]=a[i]*b[j];
	/*for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
			cout<<c[i][j]<<" ";
		cout<<endl;
	}*/
	int cnt=0;
	while(q--)
	{
		cnt++; 
		cin>>l1>>r1>>l2>>r2;
		long long int minnn;
		maxn[cnt]=-1e18;
		for(int i=l1;i<=r1;i++)
		{
			minnn=1e18;
			for(int j=l2;j<=r2;j++)
			{
				minnn=min(minnn,c[i][j]);
			}
			minn[i]=minnn;
			maxn[cnt]=max(maxn[cnt],minn[i]);
		}
	}
	for(int i=1;i<=cnt;i++)
	{
		cout<<maxn[i]<<endl;
	}
}

暴力算法,预估25,实际60?

2022/10/29 20:32
加载中...