Pagini recente » Cod sursa (job #1033456) | Cod sursa (job #677320) | Cod sursa (job #2831569) | Cod sursa (job #2425925) | Cod sursa (job #110638)
Cod sursa(job #110638)
#include <stdio.h>
int x[302][302], s[302][302], a[302], n, m, k;
void citire()
{
ifstream in("teren.in");
int i, j;
in>>n>>m>>k;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
{
in>>x[i][j];
s[i][j] = s[i - 1][j] + x[i][j];
}
in.close()
}
int main()
{
citire();
int i, j, l, st, dr, suma, max = 0;
for (i = 1; i < n; i++)
for (j = i + 1; j <= n; j++)
{
for (l = 1; l <= m; l++)
a[l] = s[j][l] - s[i - 1][l];
st = 1;
suma = 0;
for (dr = 1; dr <= m; dr++)
{
suma += a[dr];
while (st <= dr && suma > k)
{
suma -=a[st];
st++;
}
if (st <= dr && max < (j - i + 1)* (dr - st + 1))
max = (j - i + 1)*(dr - st + 1);
}
}
ofstream out("teren.out");
out<<max<<'\n';
return 0;
}