Pagini recente » Cod sursa (job #903195) | Cod sursa (job #1973396) | Cod sursa (job #1912597) | Cod sursa (job #1867581) | Cod sursa (job #636902)
Cod sursa(job #636902)
#include <fstream>
using namespace std;
ifstream fin("dreptpal.in");
ofstream fout("dreptpal.out");
int N , M , D[1001] , p[1001][1001];
int main()
{
fin>>N>>M;
int l , r , lg , amax = N , lmin;
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 = i+2;
while(l>=1 && r<=M && D[l]==D[r]) l-- , r++ , lg+=2;
p[i][j] = lg;
}
else p[i][j] = 1;
}
}
for(int j=2;j<M;++j)
for(int i=1;i<N;++i)
{
lmin = p[i][j];
amax = max(amax,lmin);
for(int k=i+1;k<=N && lmin!=1;++k)
{
lmin = min(lmin,p[k][j]);
amax = max(amax,(k-i+1) *lmin);
}
}
fout<<amax<<'\n';
return 0;
}