Pagini recente » Cod sursa (job #2720935) | Cod sursa (job #1391768) | Cod sursa (job #2273371) | Borderou de evaluare (job #1567995) | Cod sursa (job #2924562)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("teren.in");
ofstream fout ("teren.out");
int n,m,x,v[301][301],s[301][301],smax;
int main()
{
fin >>n>>m>>x;
for (int i=1;i<=n;i++)
{for (int j=1;j<=m;j++)
{fin >>v[i][j];}}
for (int i=1;i<=n;i++)
{for (int j=1;j<=m;j++)
s[i][j]=s[i-1][j]+v[i][j];}
for (int l1=1;l1<=n;l1++)
{for (int l2=l1;l2<=n;l2++)
{int p=1,sum=0;
for (int u=1;u<=m;u++)
{sum=sum+s[l2][u]-s[l1-1][u];
while (p<=u && sum>x)
{sum=sum-(s[l2][p]-s[l1-1][p]);
p++;}
if (smax<(l2-l1+1)*(u-p+1)) {smax=(l2-l1+1)*(u-p+1);}}}}
fout <<smax;
return 0;
}