Pagini recente » Cod sursa (job #1281506) | Cod sursa (job #1910626) | Cod sursa (job #206577) | Cod sursa (job #1198037) | Cod sursa (job #3137829)
#include <fstream>
using namespace std;
ifstream in("teren.in");
ofstream out("teren.out");
bool a[301][301];
int sp[301][301];
int main()
{
int n, m, x;
in>>n>>m>>x;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
in>>a[i][j];
sp[i][j]=sp[i][j-1]+sp[i-1][j]-sp[i-1][j-1]+a[i][j];
}
}
int ariemax=0, arie, stricate;
int i, j;
for(int lin1=1; lin1<=n; lin1++)
{
for(int lin2=lin1; lin2<=n; lin2++)
{
i=1; j=1;
stricate=0;
while(i<=m)
{
//stricate+=sp[lin2][j]-sp[lin2][i-1]-sp[lin1-1][j]+sp[lin1-1][i-1];
while(j<=m && stricate<=x)
{
stricate+=sp[lin2][j]-sp[lin1-1][j]-sp[lin2][j-1]+sp[lin1-1][j-1];
j++;
if(stricate<=x)
{
arie=(lin2-lin1+1)*(j-i);
if(arie>ariemax)
{
ariemax=arie;
}
}
}
stricate-=sp[lin2][i]-sp[lin2][i-1]-sp[lin1-1][i]+sp[lin1-1][i-1];
i++;
}
}
}
out<<ariemax;
}