Cod sursa(job #190640)

Utilizator alex23alexandru andronache alex23 Data 23 mai 2008 18:33:13
Problema Teren Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int a[302][302],n,m,i,j,k,l,s,max,x,p;

int main()
{FILE *f;
 
  f=fopen("teren.in","r");
  fscanf(f,"%d %d %d",&n,&m,&x);
  for (i=1;i<=n;i++)
     for (j=1;j<=m;j++)
         fscanf(f,"%d",&a[i][j]);
  fclose(f);
  
  
  for (i=1;i<=n;i++)
      for (j=1;j<=m;j++)
         a[i][j]=a[i][j]+a[i][j-1]+a[i-1][j]-a[i-1][j-1];
 

  for (i=1;i<=n;i++)
     for (j=1;j<=m;j++)
        for (k=i;k<=n;k++)
           for (l=j;l<=m;l++)
              {s=a[k][l]-a[k][j-1]-a[i-1][l]+a[i-1][j-1];
               p=(k-i+1)*(l-j+1);        
               if (s<=x) if (max<p) max=p;
               } 
  
  f=fopen("teren.out","w");
  fprintf(f,"%d",max);
  fclose(f);
  
  return 0;
}