Pagini recente » Cod sursa (job #600223) | Cod sursa (job #1913603) | Cod sursa (job #2526201) | Cod sursa (job #2749690) | Cod sursa (job #1116205)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("balans.in");
ofstream fout("balans.out");
const int out_precision= 3;
const int nmax= 150;
int s[2*nmax+1][2*nmax+1];
int main( ) {
int n, m, r, c;
fin>>n>>m>>r>>c;
for ( int i= 1; i<=n; ++i ) {
for ( int j= 1; j<=m; ++j ) {
fin>>s[i][j];
s[n+i][j]= s[i][m+j]= s[n+i][m+j]= s[i][j];
}
}
for ( int i= 1; i<=2*n; ++i ) {
for ( int j= 1; j<=2*m; ++j ) {
s[i][j]= s[i][j]+s[i-1][j]+s[i][j-1]-s[i-1][j-1];
}
}
double sol= 0;
for ( int row= r; row<=n; ++row ) {
for ( int col= c; col<=m; ++col ) {
for ( int i= n+1; i<=2*n; ++i ) {
for ( int j= m+1; j<=2*m; ++j ) {
double sum= s[i][j]+s[i-row][j-col]-s[i-row][j]-s[i][j-col];
if ( sol<sum/(row*col) ) {
sol= sum/(row*col);
}
}
}
}
}
fout<<setprecision(out_precision)<<fixed;
fout<<sol<<"\n";
return 0;
}