Cod sursa(job #2723496)

Utilizator mariusn01Marius Nicoli mariusn01 Data 14 martie 2021 12:14:45
Problema Teren Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>

using namespace std;
int a[302][302];
int n, m, i, j, i1, j1, i2, j2, x, suma, maxim;
int main() {
    ifstream fin ("teren.in");
    ofstream fout("teren.out");

    fin>>n>>m>>x;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++)
            fin>>a[i][j];

    for (i1=1;i1<=n;i1++)
        for (j1=1;j1<=m;j1++) {
            /// imi imaginez ca (i1,j1) este coltul din stanga sus al unui dreptunghi
            for (i2 = i1;i2<=n;i2++)
                for (j2=j1;j2<=m;j2++) {
                    /// fac suma submatricei cu coltul st sus (i1, j1) si
                    /// dreapta jos (i2, j2)

                    suma = 0;
                    for (i=i1;i<=i2;i++)
                        for (j=j1;j<=j2;j++)
                            suma += a[i][j];
                    if (suma <= x && (i2-i1+1)*(j2-j1+1) > maxim)
                        maxim = (i2-i1+1)*(j2-j1+1);

                }
        }
    fout<<maxim;
}