Pagini recente » Cod sursa (job #2632486) | Cod sursa (job #1450529) | Cod sursa (job #724963) | Cod sursa (job #726097) | Cod sursa (job #153330)
Cod sursa(job #153330)
#include <stdio.h>
int a[304][304];
int n,m,nr;
long maxim;
void citire()
{
freopen ("teren.in","r",stdin);
scanf ("%d%d%d",&n,&m,&nr);
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
scanf ("%d",&a[i][j]);
fclose (stdin);
}
void numarare()
{
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
a[i][j]+=a[i][j-1];
}
void afisare()
{
for (int c1=1;c1<=m;c1++)
for (int c2=c1;c2<=m;c2++)
{
long poz=1,S=0;
for (int linie=1;linie<=n;linie++)
{
S+=a[linie][c2]-a[linie][c1-1];
if (S>nr)
{
S=0;
poz=linie+1;
}
else
if ((linie-poz+1)*(c2-c1+1)>maxim)
maxim=(linie-poz+1)*(c2-c1+1);
}
}
freopen ("teren.out","w",stdout);
printf ("%ld\n",maxim);
fclose(stdout);
}
int main ()
{
citire();
numarare();
afisare();
return 0;
}