Cod sursa(job #2807440)

Utilizator carinamariaCarina Maria Viespescu carinamaria Data 23 noiembrie 2021 19:59:22
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream fin ("teren.in");
ofstream fout("teren.out");
int a[305][305], S[305][305];
int n, m, i, j, x, p, k, suma, i1, j1, i2, j2, maxim;
int main() {
    fin>>n>>m>>x;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++) {
            fin>>a[i][j];
            S[i][j] = S[i-1][j] + a[i][j];
        }
    for (i1=1;i1<=n;i1++)
        for (i2=i1;i2<=n;i2++){
            suma = 0;
            p = 1;
            for (j=1;j<=m;j++) {
                suma+=(S[i2][j]-S[i1-1][j]);
                while (suma > x) {
                    suma -= (S[i2][p]-S[i1-1][p]);
                    p++;
                }
                if ((j-p+1)*(i2-i1+1) > maxim)
                    maxim = (j-p+1)*(i2-i1+1);
            }
        }


    fout<<maxim;
}