Pagini recente » Cod sursa (job #2914991) | Cod sursa (job #1631837) | Cod sursa (job #66686) | Cod sursa (job #2437250) | Cod sursa (job #2153787)
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n,m,x,i,j,sum[301][301],Max,st,dr,s;
bool a;
int main()
{
fin>>n>>m>>x;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
fin>>a;
sum[i][j]=a+sum[i-1][j];
}
Max=0;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++){
st=1;
s=0;
for(dr=st;dr<=m;dr++){
if(s+sum[j][dr]-sum[i-1][dr]<=x){
s+=sum[j][dr]-sum[i-1][dr];
Max=max(Max,(dr-st+1)*(j-i+1));
}
else{
while(st<=dr&&s+sum[j][dr]-sum[i-1][dr]>x){
s-=(sum[j][st]-sum[i-1][st]);
st++;
}
if(st<=dr){
s+=s+sum[j][dr]-sum[i-1][dr];
Max=max(Max,(dr-st+1)*(j-i+1));
}
}
}
}
fout<<Max;
return 0;
}