Pagini recente » Cod sursa (job #1576685) | Cod sursa (job #27528) | Cod sursa (job #2315025) | Cod sursa (job #1818795) | Cod sursa (job #461269)
Cod sursa(job #461269)
#include <cstdio>
const char FIN[] = "teren.in", FOU[] = "teren.out";
const int MAX_N = 305;
int sum[MAX_N][MAX_N];
int A[MAX_N];
int N, M, K, x;
int main()
{
freopen(FIN , "r" , stdin);
freopen(FOU , "w" , stdout);
scanf("%d %d %d", &N, &M, &K);
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= M; ++j)
scanf("%d", &x), sum[i][j] = sum[i - 1][j] + x;
int sol = 0;
for (int i = 1; i < N; ++i)
for (int j = i + 1; j <= N; ++j)
{
for (int k = 1; k <= M; ++k)
A[k] = sum[j][k] - sum[i - 1][k];
for (int dr = 1, st = 1, suma = 0; dr <= M; ++dr)
{
for ( suma += A[dr]; st <= dr && suma > K; ++st)
suma -= A[st];
if ( st <= dr && sol < ( j - i + 1 ) * ( dr - st + 1 ) )
sol = ( j - i + 1 ) * ( dr - st + 1 );
}
}
printf("%d", sol);
return 0;
}