Pagini recente » Cod sursa (job #701530) | Cod sursa (job #393869) | Cod sursa (job #2296783) | Cod sursa (job #945232) | Cod sursa (job #109815)
Cod sursa(job #109815)
#include <stdio.h>
int a[301][301],b[301][301];
int main()
{
FILE *in,*out;
int n,m,x,max,i,j,i2,j2;
in=fopen("teren.in","r");
out=fopen("teren.out","w");
fscanf(in,"%d%d%d",&n,&m,&x);
for (i=0;i<=n;i++)
a[i][0]=0;
for (j=0;j<=m;j++)
a[0][j]=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fscanf(in,"%d",&a[i][j]);
max=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1];
if (a[i][j])
b[i][j]++;
if (b[i][j]<=x&&i*j>max)
max=i*j;
}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
for (i2=i;i2<=n;i2++)
for (j2=j;j2<=m;j2++)
{
if (b[i2][j2]+b[i][j]-b[i2][j-1]+b[i-1][j2]<=x&&(i2-i+1)*(j2-j+1)>max)
max=(i2-i+1)*(j2-j+1);
}
fprintf(out,"%d\n",max);
fclose(in);
fclose(out);
return 0;
}