Pagini recente » Cod sursa (job #2694253) | Cod sursa (job #1027753) | Cod sursa (job #473037) | Cod sursa (job #2115748) | Cod sursa (job #547619)
Cod sursa(job #547619)
#include <cstdio>
const int MAX_N = 152;
int n, m, r, c, ii, jj, sum;
double sol;
int a[MAX_N * 2][MAX_N * 2];
int main()
{
int i, j, k, l;
freopen("balans.in", "r", stdin);
freopen("balans.out", "w", stdout);
scanf("%d %d %d %d", &n, &m, &r, &c);
for (i = 1; i <= 2 * n; ++i)
for (j = 1; j <= 2 * m; ++j)
{
if (i <= n && j <= m)
{
scanf("%d", &a[i][j]);
a[i][j + m] = a[i + n][j] = a[i + n][j + m] = a[i][j];
}
a[i][j] += a[i][j - 1] + a[i - 1][j] - a[i - 1][j - 1];
}
ii = jj = 1;
for (i = r; i <= n; ++i)
for (j = c; j <= m; ++j)
for (k = n + 1; k <= n << 1; ++k)
for (l = m + 1; l <= m << 1; ++l)
{
sum = a[k][l] - a[k - i][l] - a[k][l - j] + a[k - i][l - j];
if (sol * i * j < sum * ii * jj)
{
sol = sum;
ii = i;
jj = j;
}
}
printf("%.3lf\n", ((int)((sol / (ii * jj)) * 1000)) / 1000.0);
}