Pagini recente » Cod sursa (job #2510542) | Cod sursa (job #1405867) | Cod sursa (job #2493938) | Cod sursa (job #2538716) | Cod sursa (job #1844569)
#include <cstdio>
#include <algorithm>
#define nmax 305
using namespace std;
int n,m,x,sol,v[nmax][nmax];
int l[nmax][nmax],c[nmax][nmax];
int main()
{
int i,j,p,q,k;
freopen("teren.in","r",stdin);
freopen("teren.out","w",stdout);
scanf("%d %d %d",&n,&m,&x);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
scanf("%d",&v[i][j]);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++) {
l[i][j]=v[i][j]+l[i][j-1];
c[i][j]=v[i][j]+c[i-1][j];
}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++) {
k=0;
for (p=i;p<=n;p++) {
k+=v[p][j];
if (k>x) {
k--;
p--;
break;
}
}
if (p>n)
p=n;
sol=max(sol,p-i+1);
for (q=j+1;q<=m;q++) {
k+=c[p][q]-c[i-1][q];
while (k>x) {
k-=l[p][q]-l[p][j-1];
p--;
}
sol=max(sol,(p-i+1)*(q-j+1));
}
}
printf("%d",sol);
return 0;
}