Pagini recente » Cod sursa (job #2731724) | Cod sursa (job #720667) | Cod sursa (job #2849369) | Cod sursa (job #111322) | Cod sursa (job #636371)
Cod sursa(job #636371)
// brute O (N * M^2)
#include <iostream>
#include <cstdio>
using namespace std;
#define maxN 1005
int L[maxN][maxN], A[maxN][maxN], sol;
int main()
{
freopen ("dreptpal.in", "r", stdin);
freopen ("dreptpal.out", "w", stdout);
int 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]);
L[i][1] = 1;
}
for (int i = 1; i <= N; ++ i)
for (int j = 2; j <= M; ++ j)
{
int l = 1;
for (int t = j + 1; t <= M; ++ t)
if (2 * j - 1 >= 1 && A[i][t] == A[i][2 * j - t]) l += 2;
L[i][j] = l;
}
for (int i = 1; i <= N; ++ i)
for (int j = 1; j <= M; ++ j)
{
int l = L[i][j];
int S = l;
for (int t = i + 1; t <= N && L[t][j] >= l; ++ t) S += l;
sol = max (sol, S);
}
printf ("%d", sol);
return 0;
}