Pagini recente » Cod sursa (job #1165590) | Cod sursa (job #1885217) | Cod sursa (job #687841) | Cod sursa (job #741917) | Cod sursa (job #637656)
Cod sursa(job #637656)
#include <stdio.h>
#define NMax 1010
const char IN[]="dreptpal.in",OUT[]="dreptpal.out";
int N,M,Rez;
int a[NMax][NMax];
int T[NMax][NMax];
int max(int x,int y){
return x>y ? x : y;
}
int min(int x,int y){
return x<y ? x : y;
}
void solve()
{
int i,j,k;
for (i=0;i<N;++i/*,printf("\n")*/)
for (j=0;j<M;++j)
{
for (k=0;j-k>=0 && j+k<M && a[i][j-k]==a[i][j+k];++k);
T[i][j]=2*k-1;
//printf("%d ",T[i][j]);
}
for (i=0;i<N;++i)
for (j=0;j<N;++j)
{
int Min=T[i][j];
for (k=0;i+k<N;++k){
Min= min(Min,T[i+k][j]);
Rez= max(Rez,Min*(k+1));
}
}
}
int main()
{
int i,j;
freopen(IN,"r",stdin);
scanf("%d%d",&N,&M);
for (i=0;i<N;++i)
for (j=0;j<M;++j)
scanf("%d",&a[i][j]);
fclose(stdin);
solve();
freopen(OUT,"w",stdout);
printf("%d\n",Rez);
fclose(stdout);
return 0;
}