Pagini recente » Cod sursa (job #1148222) | Cod sursa (job #369149) | Cod sursa (job #1876542) | Cod sursa (job #2356072) | Cod sursa (job #1844575)
#include <cstdio>
#include <algorithm>
#define nmax 305
using namespace std;
int n,m,x,sol;
short v[nmax][nmax],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=c[n][j]-c[i-1][j];
p=n;
while (k>x)
k-=v[p--][j];
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;
}