Cod sursa(job #179478)

Utilizator albuaAlbu Alexandru albua Data 15 aprilie 2008 22:45:56
Problema Teren Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>

FILE *f,*g;
int a[305][305],m,n,k;
long max;


void citire(void)
{
  int i,j;
  fscanf(f,"%d %d %d\n",&n,&m,&k);
  for(i=1;i<=n;i++)
    {
	  for(j=1;j<=m;j++)
	    fscanf(f,"%d",&a[i][j]);
	  fscanf(f,"\n");
	}
}

int verifica(int lj,int ld)
{
  int i,j,temp=0;
  for(i=1;i<=lj;i++)
    for(j=1;j<=ld;j++)
	  if(a[i][j]==1)
	    temp++;
  return temp;
}

void executa(int lj, int ld)
{
  int temp,i;
  for(i=0;(i<=lj)&&(i<=ld)&&(max==0);i++)
    {
	  if(verifica(lj-i,ld)<=k)
	    max=(lj-i)*ld;
	  if(verifica(lj,ld-i)<=k)
	    if(lj*(ld-i)>max)
		  max=lj*(ld-i);
	}
}

int main()
{
  f=fopen("teren.in","r");
  g=fopen("teren.out","w");
  citire();
  executa(n,m);
  fprintf(g,"%ld\n",max);
  fclose(f);  fclose(g);
  return 0;
}