Pagini recente » Cod sursa (job #1408642) | Cod sursa (job #514151) | Cod sursa (job #2242245) | Cod sursa (job #668491) | Cod sursa (job #637921)
Cod sursa(job #637921)
#include<iostream>
#include<fstream>
#define INF 0x3f3f3f3f
#define MaxN 1005
using namespace std;
long n,m,i,j,l,maxim,minim,act;
long T1[MaxN][MaxN];
long T2[MaxN][MaxN];
long B[MaxN][MaxN];
long cn;
int main()
{
ifstream in("dreptpal.in");
ofstream out("dreptpal.out");
in>>n>>m;
for ( i=1; i<=n; ++i)
for ( j=1; j<=m; ++j)
in>>T1[i][j];
for ( i=1; i<=n; ++i)
for ( j=1; j<=m; ++j)
{
cn=T1[i][j];
while (cn)
{
T2[i][j]=T2[i][j]*10+cn%10;
cn/=10;
}
}
for ( i=1; i<=n; ++i)
for ( j=1; j<=m; ++j)
{
act=0;
for ( l=0; l+j<=m && j-l>=1; ++l)
if ( T1[i][j+l]==T1[i][j-l])
act++;
else
break;
B[i][j]=act*2-1;
}
for ( i=1; i<=n; ++i)
for( j=1; j<=m; ++j)
{
minim=INF;
for ( l=i; l<=n; ++l)
{
if ( minim > B[l][j])
minim=B[l][j];
if ( maxim < minim*(l-i+1))
maxim=minim*(l-i+1);
}
}
/* for ( i=1; i<=n; ++i,cout<<"\n")
for ( j=1; j<=m; ++j)
cout<<B[i][j]<<" "; */
out<<maxim<<"\n";
return 0;
}