Cod sursa(job #258252)

Utilizator ConsstantinTabacu Raul Consstantin Data 14 februarie 2009 22:01:58
Problema Teren Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int v[301][301],a[301][301],i,j,k,l,m,n,p,q,max,N,M,mc,sum;
int main(){
FILE *f=fopen("teren.in","r");
fscanf(f,"%d%d%d",&N,&M,&k);
for(i=1;i<=N;i++)

for(j=1;j<=M;j++)
        {fscanf(f,"%d",&v[i][j]);
        a[i][j]=a[i-1][j]+v[i][j];
        }

fclose(f);
for(n=1;n<=N;n++)

for(m =n;m <= N; m++)
{p=q=1;sum=0;

for(q=1;q<=M;q++)
        {sum+=a[m][q]-a[n-1][q];
        while(sum>k&&p<=q)
                sum-=a[m][p]-a[n][p++];
        mc=(m-n+1)*(q-p+1);
        if(mc>max)
        max=mc;
        }



}

FILE *g=fopen("teren.out","w");
fprintf(g,"%d",max);
fclose(g);

return 0;}