Cod sursa(job #128209)

Utilizator razvi9Jurca Razvan razvi9 Data 26 ianuarie 2008 17:21:25
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
int n,m,i,j,k,a[301][301],x,st,dr,s,max;
int main()
{freopen("teren.in","r",stdin);
 freopen("teren.out","w",stdout);
 scanf("%d %d %d",&n,&m,&x);
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
  {scanf("%d",&k);
   a[i][j]=a[i-1][j]+k;}
 for(i=1;i<=n;i++)
  for(j=i;j<=n;j++)
  {s=0;st=1;dr=1;
   while(dr<=m)
   {s=s+a[j][dr]-a[i-1][dr];
    while(s>x){s=s-a[j][st]+a[i-1][st];st++;}
    if(max<(j-i+1)*(dr-st+1)) max=(j-i+1)*(dr-st+1);
    dr++;}
   }
 printf("%d\n",max);
 fclose(stdout);
 return 0;}