Cod sursa(job #3254047)

Utilizator Carnu_EmilianCarnu Emilian Carnu_Emilian Data 5 noiembrie 2024 20:58:37
Problema Teren Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fcin("teren.in");
ofstream fcout("teren.out");

const int N = 305;
short a[N][N], v[N];
int n, m, k, maxx;

int main()
{
    fcin >> n >> m >> k;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            fcin >> a[i][j];
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            a[i][j] += a[i - 1][j];
    for (int l1 = 1; l1 <= n; l1++)
        for (int l2 = l1; l2 <= n; l2++)
        {
            for (int j = 1; j <= m; j++)
                v[j] = a[l2][j] - a[l1 - 1][j];
            short s = 0, lmax = 1;
            for (int i = 1, j = 1; j <= m; j++)
            {
                s += v[j];
                while (s > k)
                {
                    s -= v[i];
                    i++;
                }
                lmax = max(1 * lmax, j - i + 1);
            }
            maxx = max(maxx, lmax * (l2 - l1 + 1));
        }
    fcout << maxx;

    return 0;
}