Pagini recente » Cod sursa (job #565520) | Cod sursa (job #1963540) | Diferente pentru utilizator/deehoroejkoli intre reviziile 148 si 147 | Monitorul de evaluare | Cod sursa (job #1289056)
#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",&a[i][j]);
}
for(int i=1;i<=n;i++)
{
for(int j=2;j<=m;j++) a[i][j]+=a[i][j-1];
}
for(int i=2;i<=n;i++)
{
for(int j=2;j<=m;j++)
{
a[i][j]+=a[i-1][j];
}
}
int max=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
for(int k=j;k<=m;k++)
{
if(a[i][k]-a[i][j-1]<=x)
{
if(max<(k-j+1)*i) max=(k-j+1)*i;
}
}
}
}
fprintf(fout,"%d", max);
}