Pagini recente » Cod sursa (job #1836319) | Cod sursa (job #528442) | Cod sursa (job #940279) | Cod sursa (job #1127663) | Cod sursa (job #1205156)
#include <cstdio>
using namespace std;
int S[302][302];
int 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("%d",&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);
return 0;
}