Pagini recente » Cod sursa (job #1961652) | Cod sursa (job #132994) | Cod sursa (job #85941) | Cod sursa (job #1896593) | Cod sursa (job #111229)
Cod sursa(job #111229)
#include<stdio.h>
#define N 301
int n,m,x,t[N][N],s[N][N],amax;
void read()
{
int i,j;
scanf("%d%d%d",&n,&m,&x);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
scanf("%d",&t[i][j]);
}
int max(int a,int b)
{
return a>b?a:b;
}
struct vec{
int d,x,y;
}a[N];
void solve()
{
int i,j,p,q,k,st,dr,suma;
for(p=1;p<=n;++p)
for(q=1;q<=m;++q)
s[p][q]=s[p-1][q]+t[p][q];
for(k=1;k<=m;++k)
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{
a[k].d=s[i][k]-s[j-1][k];
a[k].x=i;
a[k].y=j;
}
st=1;
suma=0;
for(dr=1;dr<=m;++dr)
{
suma+=a[dr].d;
while(st<=dr&&suma>x)
{
suma-=a[st].d;
st++;
}
if(st<=dr)
amax=max(amax,(a[st].y-a[st].x+1)*(dr-st+1));
}
printf("%d\n",amax);
}
int main()
{
freopen("teren.in","r",stdin);
freopen("teren.out","w",stdout);
read();
solve();
return 0;
}