Pagini recente » Cod sursa (job #2445315) | Cod sursa (job #1755597) | Cod sursa (job #942042) | Cod sursa (job #2154866) | Cod sursa (job #638403)
Cod sursa(job #638403)
#include <cstdio>
#define NMAX 1001
#define MAX(a,b) (a>b) ? a : b
#define MIN(a,b) (a<b) ? a : b
int A[NMAX][NMAX], D[NMAX][NMAX], i, j, k, lg, N, M, L, Max, S;
int main()
{
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]);
for( i = 1; i <= N; ++i )
for( j = 1; j <= M; ++j )
{
for( lg = 1; j - lg > 0 && j + lg <= M && A[i][j-lg] == A[i][j+lg]; ++lg );
D[i][j] = 2*lg - 1;
}
for( i = 1; i <= N; ++i )
for( j = 1; j <= M; ++j )
{
S = L = D[i][j];
Max = MAX( Max, S );
for( k = i + 1; k <= N; ++k )
{
L = MIN( L, D[k][j] );
S = L * ( k - i + 1 );
Max = MAX( Max, S );
}
}
printf("%d\n", Max);
return 0;
}