Pagini recente » Arhiva de probleme | Cod sursa (job #1001030) | Cod sursa (job #2058856) | Arhiva de probleme | Cod sursa (job #2854489)
#include <fstream>
using namespace std;
ifstream cin ("teren.in");
ofstream cout ("teren.out");
int n, x, a[303][303], i, j, ok = true, m , i1,i2,st,dr,sum, s[1003][1003], maxx;
int main()
{
cin >> n >> m >> x;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin >> a[i][j];
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s[i][j] = a[i][j] + s[i-1][j];
for(i1=1;i1<=n;i1++) ///linia de sus
for(i2=i1;i2<=n;i2++) ///linia de jos
{
sum=0;
st=1;
for (dr = 1; dr <= m; dr++)
{
sum += s[i2][dr] - s[i1-1][dr];
while (st <= dr && sum > x)
{
sum -= (s[i2][st] - s[i1-1][st]);
st++;
}
if ((i2 - i1 + 1) * (dr - st + 1) > maxx)
maxx = (i2 - i1 + 1) * (dr - st + 1);
}
}
cout << maxx;
return 0;
}