Pagini recente » Cod sursa (job #2090621) | Cod sursa (job #2875779) | Cod sursa (job #1771593) | Cod sursa (job #2830383) | Cod sursa (job #150917)
Cod sursa(job #150917)
#include <stdio.h>
#define NMax 301
#define INF 32000
int n, m, max, ar;
int a[NMax][NMax];
int col[NMax][NMax];
void citire();
void rez();
void process( int x, int y );
int main()
{
citire();
rez();
return 0;
}
void process( int x, int y )
{
int i, j, arie, sum, vec[NMax];
for (i=1; i<=m; i++)
vec[i] = col[y][i] - col[x-1][i];
vec[0] = 0;
vec[m+1] = INF;
j = 0; sum = 0;
for (i=1; i<=m; i++)
{
sum -= vec[i-1];
while ( sum + vec[j+1] <= max )
{
sum += vec[j+1];
j++;
}
arie = (y-(x-1)) * (j-(i-1));
if ( arie > ar )
ar = arie;
}
}
void rez()
{
int i, j;
for (i=1; i<=n; i++)
for (j=i; j<=n; j++)
process( i, j );
printf( "%d\n", ar );
}
void citire()
{
int i, j;
freopen( "teren.in", "rt", stdin );
freopen( "teren.out", "wt", stdout );
scanf( "%d %d %d", &n, &m, &max );
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
scanf( "%d", &a[i][j] );
col[i][j] = col[i-1][j] + a[i][j];
}
}