Cod sursa(job #323524)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 12 iunie 2009 15:31:59
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
int n,m,k,i,j,t,s[305][305],st,dr,suma,am;
char sir[305];
int main()
{
 freopen("teren.in","r",stdin);
 freopen("teren.out","w",stdout);
 scanf("%d%d%d",&n,&m,&k);
 for(i=1;i<=n;++i)
    {scanf("\n");
     gets(sir);
     for(j=1;j<=m;++j)
       {t=sir[j*2-2]-'0';
        s[i][j]=s[i-1][j]+t;}}
 for(i=1;i<=n;++i)
    for(j=i;j<=n;++j)
       {st=1;
        suma=0;
        for(dr=1;dr<=m;++dr)
           {suma+=(s[j][dr]-s[i-1][dr]);
            while(st<=dr&&suma>k)
              {suma-=(s[j][st]-s[i-1][st]);
               st++;}
            if(st<=dr)if(am<(j-i+1)*(dr-st+1))am=(j-i+1)*(dr-st+1);}}
 printf("%ld",am);
 return 0;
}