Pagini recente » Cod sursa (job #526308) | Cod sursa (job #2808299) | Cod sursa (job #2655723) | Cod sursa (job #1782407) | Cod sursa (job #1516692)
#include<fstream>
using namespace std;
int n, m, a[301][301], i, j, x, ii, jj, maxim, nr, k, l, i1, i2, p, u;
int main()
{
ifstream f("teren.in");
ofstream g("teren.out");
f>>n>>m>>x;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++) {
f>>a[i][j];
a[i][j] += (a[i-1][j] + a[i][j-1] - a[i-1][j-1]);
}
f.close();
for (i1 = 1; i1<=n; i1++)
for (i2=i1;i2<=n;i2++) {
// cel mai bun dreptunghi asezat pe liniile i1 si i2
p = 1;
for (u=1;u<=m;u++) {
while ( a[i2][u] - a[i2][p-1] - a[i1-1][u] + a[i1-1][p-1] > x )
p++;
if ((i2-i1 + 1) * (u-p+1) > maxim)
maxim = (i2-i1 + 1) * (u-p+1);
}
}
g<<maxim;
g.close();
return 0;
}