Pagini recente » Cod sursa (job #2357287) | Cod sursa (job #2812628) | Cod sursa (job #64991) | Cod sursa (job #1036065) | Cod sursa (job #637909)
Cod sursa(job #637909)
#include<cstdio>
#define minim(a,b) a<b?a:b
void read(),solve();
int i,j,n,m,cnt,A[1010][1010],C[1010][1010],st,dr,sol,k;
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("dreptpal.in","r",stdin);
freopen("dreptpal.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&A[i][j]);
}
void solve()
{
for(i=1;i<=n;i++)
for(j=2;j<m;j++)
{
C[i][j]=1;
for(st=j-1,dr=j+1;st>=1&&dr<=m;st--,dr++)if(A[i][st]==A[i][dr])C[i][j]+=2; else break;
}
for(i=1;i<=n;i++)
for(j=1;j<m;j++)
{
cnt=C[i][j];
for(k=i;k>=1;k--)
{
cnt=minim(cnt,C[k][j]);
if(sol<cnt*(i-k+1))sol=cnt*(i-k+1);
}
}
printf("%d\n",sol);
}