Pagini recente » Cod sursa (job #2528273) | Cod sursa (job #257327) | Cod sursa (job #778560) | Cod sursa (job #2167646) | Cod sursa (job #636912)
Cod sursa(job #636912)
#include <fstream>
using namespace std;
ifstream fin("dreptpal.in");
ofstream fout("dreptpal.out");
int N , M , p[1001][1001] , D[1002];
int main()
{
fin>>N>>M;
int l , r , lg , amax = N , lmin , maxa , maxb ;
for(int i=1;i<=N;++i)
{
for(int j=1;j<=M;++j)
fin>>D[j];
for(int j=2;j<M;++j)
{
if(D[j-1]==D[j+1])
{
lg = 3;
l = j-2 , r = j+2;
while(l>=1 && r<=M && D[l]==D[r]) l-- , r++ , lg+=2;
p[i][j] = lg;
maxa = maxb = lmin = p[i][j];
amax = max(amax,lmin);
for(int k=i-1;k>=1;--k)
{
lmin = min(lmin,p[k][j]);
maxb = ((i-k)+1)*lmin;
if(maxb<maxa) break; else maxa = maxb;
amax = max(amax,maxb);
}
}
else p[i][j] = 1;
}
}
fout<<amax<<'\n';
return 0;
}