#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[2010][2010];
ll b[2010][2010];
ll h[2222];
ll que[22222];
signed main()
{
ll t;
scanf("%d",&t);
while(t--)
{
ll n,m;
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(a[i][j]>=a[i-1][j])
{
b[i][j]=1;
}
else
{
b[i][j]=0;
}
}
}
for(int i=1; i<=m; i++)
{
h[i]=0;
}
ll ans=0;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(b[i][j]==0)
h[j]=1;
else
h[j]++;
}
ll tot=0;
h[m+1]=0;
for(int j=1; j<=m+1; j++)
{
while(tot&&h[que[tot]]>h[j])
{
ans=max(ans,(j-que[tot-1]-1)*h[que[tot]]);
tot--;
}
que[++tot]=j;
}
}
printf("%lld\n",ans);
}
}
hdu6957
最新推荐文章于 2021-10-20 20:07:06 发布