Cod sursa(job #3188605)

Utilizator gmatei800@gmail.comMatei Gabriel [email protected] Data 3 ianuarie 2024 15:14:10
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#define NMAX 305

using namespace std;

ifstream cin ("teren.in");
ofstream cout("teren.out");

int a[NMAX][NMAX], s[NMAX][NMAX];
int n, m, i, j, x, p, k, sum, i1, j1, i2, j2, maxim;

int main() {
    cin >> n >> m >> x;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++) {
            cin >> 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++){
            sum = 0;
            p = 1;
            for (j = 1;j <= m; j++) {
                sum += (s[i2][j] - s[i1-1][j]);
                while (sum > x) {
                    sum -= (s[i2][p] - s[i1-1][p]);
                    p++;
                }
                if ((j - p + 1) * (i2 - i1 + 1) > maxim)
                    maxim = (j - p + 1) * (i2 - i1 + 1);
            }
        }
    cout << maxim;
}