Pagini recente » Cod sursa (job #157510) | Cod sursa (job #2641957) | Cod sursa (job #1576907) | Cod sursa (job #2908552) | Cod sursa (job #1600148)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream si("teren.in");
ofstream so("teren.out");
const int NMAX = 300;
bool liber[1 + NMAX][1 + NMAX];
int v[1 + NMAX];
int main()
{
int n, m, x;
si>>n>>m>>x;
int a;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
si>>liber[i][j];
}
}
int sol = 0;
for(int l1=1;l1<=n;++l1)
{
memset(v, 0, sizeof(v));
for(int l2=l1;l2<=n;++l2)
{
int sum=0;
int st=1;
for (int dr=1;dr<=m;++dr)
{
v[dr]+=(int)liber[l2][dr];
sum+=v[dr];
if(liber[l1][dr] || liber[l2][dr])
{
sum=0;
st=dr+1;
}
else
{
while(sum>x && st<=dr)
{
sum-=v[st];
++st;
}
sol = max(sol,(dr-st+1)*(l2-l1+1));
}
}
sol = max(sol,(m-st+1)*(l2-l1+1));
}
}
so<<sol<<'\n';
return 0;
}