Cod sursa(job #477893)

Utilizator freak93Adrian Budau freak93 Data 16 august 2010 15:50:12
Problema Balans Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>

using namespace std;

const char iname[]="balans.in";
const char oname[]="balans.out";
const int maxn=305;

ifstream f(iname);
ofstream g(oname);

int n,m,r,c,a[maxn][maxn],s[maxn][maxn],i,j,k,p;
double rez=0;

int main()
{
    f>>n>>m>>r>>c;
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)
            f>>a[i][j],a[i+n][j]=a[i+n][j+m]=a[i][j+m]=a[i][j];
    for(i=1;i<=2*n;++i)
        for(j=1;j<=2*m;++j)
            s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
    for(i=r;i<=n;++i)
        for(j=c;j<=m;++j)
            for(k=n*2-1;k>=i;--k)
                for(p=m*2-1;p>=j;--p)
                    rez=max(rez,(s[k][p]-s[k-i][p]-s[k][p-j]+s[k-i][p-j])/(1.0*i*j));
    g.setf(ios::fixed,ios::floatfield);
    g.precision(3);
    g<<rez<<"\n";
}