Cod sursa(job #3124465)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 28 aprilie 2023 20:31:38
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("teren.in");
ofstream fout("teren.out");
int n, m, st, dr, i, j;
int a[302][302], x, r;

int main()  {
    fin >> n >> m >> x;
    for(i = 1; i <= n; i++) {
        for(j = 1; j <= m; j++) {
            fin >> a[i][j];
            a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];
        }
    }
    for(i = 1; i <= n; i++) {
        for(j = i; j <= n; j++) {
            st = 1;
            for(dr = 1; dr <= m; dr++) {
                int s;
                do {
                    s = a[j][dr] - a[j][st - 1] - a[i - 1][dr] + a[i - 1][st - 1];
                    if(s > x) st++;
                }
                while(s > x);
                r = max(r, (j - i + 1) * (dr - st + 1));
            }
        }
    }
    fout << r;

    return 0;
}