Pagini recente » Cod sursa (job #1933789) | Cod sursa (job #225203) | Cod sursa (job #2162901) | Cod sursa (job #1502459) | Cod sursa (job #3216677)
#include <fstream>
using namespace std;
ifstream cin("teren.in");
ofstream cout("teren.out");
int n,m,x,A[305][305],amax;
int main()
{
cin>>n>>m>>x;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>A[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
A[i][j]=A[i][j]+A[i-1][j]+A[i][j-1]-A[i-1][j-1];
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
{
int B[305],s=0;
for(int k=1;k<=m;k++)
B[k]=A[j][k]-A[j][k-1]-A[i-1][k]+A[i-1][k-1];
int l=1;
for(int r=1;r<=m;r++)
{
s+=B[r];
if(s<=x)
{
amax=max(amax,(j-i+1)*(r-l+1));
}
else
{
while(s>x)
s-=B[l++];
}
}
}
cout<<amax;
return 0;
}