Cod sursa(job #235623)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 24 decembrie 2008 19:07:55
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<iostream>
#include<stdio.h>
FILE *f=fopen("teren.in","r"),*g=fopen("teren.out","w");
unsigned int t[301][301],s[301][301];int n,m,x,su,ar,st,dr;
int main()
{
 fscanf(f,"%d %d %d",&n,&m,&x);
 int i,j;
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
  fscanf(f,"%d",&t[i][j]),s[i][j]=s[i-1][j]+t[i][j];
for(i=1;i<=n;i++)
 for(j=i;j<=n;j++)
{st=1;
 su=0;
 for(dr=1;dr<=m;dr++)
 {
  su+=s[j][dr]-s[i-1][dr];
  while(st<=dr&&su>x)
  {
   su-=s[j][st]-s[i-1][st];
   st++;
  }
  if(st<=dr)
   ar=ar>(j-i+1)*(dr-st+1)?ar:(j-i+1)*(dr-st+1);
 }
}
fprintf(g,"%d\n",ar);
return 0;
}