Cod sursa(job #2847379)

Utilizator daria_pDaria Popescu daria_p Data 10 februarie 2022 19:09:22
Problema Balans Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("balans.in");
ofstream fout("balans.out");
int n,i,m,j,a[155][155],r,c,i1,j1,S;
float sol;
int main()
{
    fin >>n>>m>>r>>c;
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=m;j++)
        {
            fin >>a[i][j];
        }
    }
    for (i=1;i<=2*n;i++)
    {
        for (j=1;j<=2*m;j++)
        {
            a[i+n][j]=a[i][j+m]=a[i+n][j+m]=a[i][j];
            a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+a[i][j];
        }
    }
    for (i=r;i<=n;i++)
    {
        for (j=c;j<=m;j++)
        {
            for (i1=n+1;i1<=2*n;i1++)
            {
                for (j1=m+1;j1<=2*m;j1++)
                {
                    S=a[i1][j1]-a[i1][j1-j]-a[i1-i][j1]+a[i1-i][j1-j];
                    if (S>sol*i*j)
                    {
                        sol=(float)S/(i*j);
                    }
                }
            }
        }
    }
    fout <<fixed<<setprecision(3)<<sol;
    return 0;
}