Pagini recente » Cod sursa (job #1175803) | Cod sursa (job #2843412) | Cod sursa (job #1377649) | Cod sursa (job #579569) | Cod sursa (job #3152674)
#include <fstream>
using namespace std;
ifstream cin ("teren.in");
ofstream cout ("teren.out");
bool stricat[301][301];
int main ()
{
int linii , coloane , limita;
cin >> linii >> coloane >> limita;
for (int linie = 1 ; linie <= linii ; linie++)
for (int coloana = 1 ; coloana <= coloane ; coloana++)
cin >> stricat[linie][coloana];
int arie_maxima = 0;
for (int linie_1 = 1 ; linie_1 <= linii ; linie_1++)
{
int suma[301];
for (int indice = 1 ; indice <= coloane ; indice++)
suma[indice] = 0;
for (int linie_2 = linie_1 ; linie_2 <= linii ; linie_2++)
for (int stanga = 1 , dreapta = 1 , total = 0 ; dreapta <= coloane ; dreapta++)
{
total += (suma[dreapta] += stricat[linie_2][dreapta]);
while (total > limita) total -= suma[stanga++];
arie_maxima = max(arie_maxima , (dreapta - stanga + 1) * (linie_2 - linie_1 + 1));
}
}
cout << arie_maxima;
cout.close(); cin.close();
return 0;
}