Pagini recente » Cod sursa (job #1683640) | Cod sursa (job #2846564) | Cod sursa (job #687614) | Cod sursa (job #2002443) | Cod sursa (job #561649)
Cod sursa(job #561649)
#include<stdio.h>
#define maxim(a,b) (a>b ? a : b)
int n,m,l,c,a[305][305];
double sol;
int main ()
{
int i,j,k,t;
double s;
freopen("balans.in","r",stdin);
freopen("balans.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&l,&c);
if(!l)
l=1;
if(!c)
c=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
a[i+n][j]=a[i][j+m]=a[i+n][j+m]=a[i][j];
}
for(i=1;i<=2*n;i++)
for(j=1;j<=2*m;j++)
a[i][j]=a[i][j]+a[i-1][j]+a[i][j-1]-a[i-1][j-1];
for(i=n+1;i<=2*n;i++)
for(j=m+1;j<=2*m;j++)
for(k=l;k<=n;k++)
for(t=c;t<=m;t++)
{
s=a[i][j]-a[i][j-t]-a[i-k][j]+a[i-k][j-t];
s=s/((double)k*t);
sol=maxim(sol,s);
}
printf("%.3lf\n",sol);
return 0;
}