Cod sursa(job #659981)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 11 ianuarie 2012 13:55:36
Problema DreptPal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#define l 1010
using namespace std;
ifstream f("dreptpal.in");
ofstream g("dreptpal.out");
int i ,j,M[l][l],a[l][l],n,m,v[l],t,p,e,maxe;
int go()
{
  int st=j,dr=j;

  while (a[i][st-1]==a[i][dr+1]) st--,dr++;

  return dr-st+1;
}
int main()
{
  f>>n>>m;

  for(i=1; i<=n; i++) a[i][0]=-1;

  for(i=1; i<=n; i++) for(j=1; j<=m; j++) f>>a[i][j];


  for(i=1; i<=n; i++)
    for(j=1; j<=m; j++) M[i][j]=go();


  for(i=1; i<=m; i++)
    {
      for(j=1; j<=n; j++) v[j]=M[j][i];

      for(t=1; t<=n; t++)
        {
            e=333333333;
          for(p=t; p<=n; p++)
            {
              e=min(e,v[p]);

              maxe=max(maxe,e*(p-t+1));
            }
        }
    }
g<<maxe<<'\n';

  f.close();
  g.close();
  return 0;
}