Pagini recente » Cod sursa (job #796851) | Cod sursa (job #1575481) | Cod sursa (job #2415804) | Cod sursa (job #1306467) | Cod sursa (job #1289073)
#include <stdio.h>
int n,m,x;
int a[301][301],b[301][301];
int maxim(int a,int b)
{
if(a<b) return b;
return a;
}
int main()
{
FILE *fin,*fout;
fin=fopen("teren.in","r");
fout=fopen("teren.out","w");
fscanf(fin,"%d %d %d",&n,&m,&x);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
fscanf(fin,"%d",&b[i][j]);
if(b[i][j]==1)
{
for(int k=1;k<=n;k++) a[k][j]+=1;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=2;j<=m;j++)
{
a[i][j]+=a[i][j-1];
}
}
int max=0,sum=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
//fprintf(fout,"%d ",a[i][j]);
for(int k=j;k<=m;k++)
{
if(a[i][k]-a[i][j-1]>x) break;
if(max<i*(k-j+1)) max=i*(k-j+1);
}
}
//fprintf(fout,"\n");
}
fprintf(fout,"%d", max);
}