Pagini recente » Cod sursa (job #1442144) | Cod sursa (job #1045301) | Cod sursa (job #1382635) | Cod sursa (job #1309368) | Cod sursa (job #1232051)
#include <cstdio>
using namespace std;
const int N = 305;
int m, n, sp[N][N], p, q, i, j, r, b;
double sol;
int main() {
freopen ("balans.in", "r", stdin);
freopen ("balans.out", "w", stdout);
scanf ("%d %d %d %d", &m, &n, &p, &q);
for (i = 1; i <= m * 2; ++i)
for (j = 1; j <= n * 2; ++j) {
if (i <= m && j <= n) {
scanf ("%d", &sp[i][j]);
sp[m + i][j] = sp[i][j + n] = sp[i + m][j + n] = sp[i][j];
}
sp[i][j] += sp[i-1][j] + sp[i][j-1] - sp[i-1][j-1];
}
for (r = p; r <= m; ++r)
for (b = q; b <= n; ++b)
for (i = m + 1; i <= m * 2; ++i)
for (j = n + 1; j <= n * 2; ++j)
if (sol * r * b < sp[i][j] + sp[i-r][j-b] - sp[i][j-b] - sp[i-r][j])
sol = 1.0 * (sp[i][j] + sp[i-r][j-b] - sp[i][j-b] - sp[i-r][j]) / (r * b);
printf ("%.3f", (int)(sol * 1000) / 1000.0);
}