Pagini recente » Cod sursa (job #1361957) | Cod sursa (job #1914658) | Cod sursa (job #1798468) | Cod sursa (job #697478) | Cod sursa (job #2638637)
#include <bits/stdc++.h>
using namespace std;
ifstream f("balans.in");
ofstream g("balans.out");
int n,m,r,c,a[305][305];
long long s[305][305];
int main()
{
f>>n>>m>>r>>c;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
f>>a[i][j];
}
}
for(int i=1;i<=2*n;i++)
{
for(int j=1;j<=2*n;j++)
{
a[i][j]=a[(i-1)%n+1][(j-1)%m+1];
s[i][j]=a[i][j]+s[i-1][j]+s[i][j-1]-s[i-1][j-1];
}
}
long double Max = 0;
for(int i=r;i<=n;i++)
{
for(int j=c;j<=m;j++)
{
for(int L=i;L<=2*n;L++)
{
for(int C=j;C<=2*m;C++)
{
long long sum = s[L][C]-s[L-i][C]-s[L][C-j]+s[L-i][C-j];
if(1.0*sum/(1.0*i*j)>Max)
{
Max=1.0*sum/(1.0*i*j);
}
}
}
}
}
g<<fixed<<setprecision(3);
g<<Max<<'\n';
return 0;
}