Cod sursa(job #638091)

Utilizator ion824Ion Ureche ion824 Data 20 noiembrie 2011 18:50:01
Problema DreptPal Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 1.08 kb
#include<fstream>
using namespace std;

int a[1003][1003],c[1003][1003];

int main(void){
      ifstream fin("dreptpal.in");
      ofstream fout("dreptpal.out");
      int i,j,k,n,m,j1,j2,min,max=0,r;   
      fin>>n>>m;
      for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)fin>>a[i][j]; fin.close();
      for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)
         if(a[i][j-1]==a[i][j+1]){
           j1=j2=j;
           while(a[i][j1]==a[i][j2]){ c[i][j1]=j2-j1+1; --j1; ++j2; }           
           }               
      i=j=1;
      while(i<=m){
         j=1;         
        while(j<=n){
          if(c[j][i]>0){                                        
             min=c[j][i]; j1=j; r=1;
             while(c[j1+1][i]>0){
                    if(c[j1+1][i]<min)min=c[j1+1][i];                          
                    ++j1; ++r;
                              }
             if(r*min>max)max=r*min;
             j=j1;                 
               }
            ++j;
            }
         ++i;
         }       
  fout<<max; fout.close();     
  return 0;  
}