Pagini recente » Cod sursa (job #2554223) | Cod sursa (job #3211665) | Cod sursa (job #825605) | Cod sursa (job #2183355) | Cod sursa (job #184229)
Cod sursa(job #184229)
#include <stdio.h>
long n, m, k, i, j, l, sum, num, max, x[301][301], u[301][301];
int main()
{
freopen ("teren.in", "rt", stdin);
freopen ("teren.out", "wt", stdout);
scanf("%ld %ld %ld", &n, &m, &k);
for (i = 1; i <= n; ++i)
for (j = 1; j <= m; ++j)
scanf("%ld", &x[i][j]);
for (j = 1; j <= m; ++j)
for (i = 1; i <= n; ++i)
u[i][j] = u[i - 1][j] + x[i][j];
for (i = 1; i <= n; ++i)
for (j = i; j <= n; ++j)
{
num = 0;
sum = 0;
for (l = 1; l <= m; ++l)
{
sum += u[j][l] - u[i - 1][l];
++num;
if (sum > k)
{
while (sum > k)
sum -= u[j][l - num + 1] - u[i - 1][l - num + 1], --num;
}
else
max = max < (j - i + 1) * num ? (j - i + 1) * num : max;
}
}
printf("%ld\n", max);
return 0;
}