Pagini recente » Cod sursa (job #2539915) | Cod sursa (job #2674083) | Cod sursa (job #1817486) | Profil terrilyn5017 | Cod sursa (job #1623996)
#include <cstdio>
#define MAX 300
using namespace std;
int v[MAX+1][MAX+1], s[MAX+1][MAX+1];
inline int maxim(int a, int b){
if(a>b)
return a;
return b;
}
int main()
{
freopen("teren.in", "r", stdin);
freopen("teren.out", "w", stdout);
int n, m, i, i1, i2, j, st, sum, k, amax=0;
scanf("%d%d%d", &n, &m, &k);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d", &v[i][j]);
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
s[i][j]=v[i][j]+s[i-1][j];
for(i1=1;i1<=n;i1++)
for(i2=i1;i2<=n;i2++)
{
sum=0;
st=1;
for(j=1;j<=m;j++)
{
sum+=s[i2][j]-s[i1-1][j];
while(sum>k)
{
sum-=s[i2][st]-s[i1-1][st];
st++;
}
amax=maxim(amax, (i2-i1+1)*(j-st+1));
}
}
printf("%d", amax);
return 0;
}