Pagini recente » Cod sursa (job #542024) | Cod sursa (job #1083104) | Cod sursa (job #1006563) | Cod sursa (job #1261356) | Cod sursa (job #287025)
Cod sursa(job #287025)
#include<stdio.h>
int teren[301][301];
int sum[301][301];
int n,m,x;
int main()
{
int i,j,s;
int x1,y1,x2,y2,aM = 0;
freopen("teren.in","r",stdin);
freopen("teren.out","w",stdout);
scanf("%d%d%d",&n,&m,&x);
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
scanf("%d",(*(teren+i)+j));
for(x1 = 0; x1 < n; x1++)
for(y1 = 0; y1 < m; y1++)
for(i = 0; i <= x1; i++)
for(j = 0; j <= y1; j++)
*(*(sum+x1)+y1) += *(*(teren+i)+j); //sume partiale
for(x1 = 0; x1 < n; x1++)
for(y1 = 0; y1 < m; y1++)
for(x2 = x1; x2 < n; x2++)
for(y2 = y1; y2 < m; y2++)
{
s = *(*(sum+x2)+y2) - *(*(sum+x1-1)+y2) - *(*(sum+x2)+y1-1) + *(*(sum+x1-1)+y1-1);
if(s <= x && aM < (x2-x1+1)*(y2-y1+1))
aM = (x2-x1+1)*(y2-y1+1);
}
printf("%d",aM);
fclose(stdin); fclose(stdout);
return 0;
}