Pagini recente » Cod sursa (job #2552468) | Cod sursa (job #674317) | Cod sursa (job #2560580) | Cod sursa (job #2794685) | Cod sursa (job #1205158)
#include <cstdio>
using namespace std;
long long S[302][302];
long long i,j,N,M,X,R,C,line,column;
double MAX;
int main()
{
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("%lld",&S[i][j]);
S[i+N][j]=S[i][j+M]=S[i+N][j+M]=S[i][j];
}
S[i][j]=S[i][j]+S[i][j-1]+S[i-1][j]-S[i-1][j-1];
}
for (line=R;line<=N;++line)
for (column=C;column<=M;++column)
for (i=N+1;i<=2*N;++i)
for (j=M+1;j<=2*M;++j)
if ((S[i][j]-S[i-line][j]-S[i][j-column]+S[i-line][j-column])>double(MAX*line*column))
MAX=(double)(S[i][j]-S[i-line][j]-S[i][j-column]+S[i-line][j-column])/(1.0*line*column);
printf("%.3f",(MAX*1000.0)/1000.0);
return 0;
}