Cod sursa(job #2400458)

Utilizator NeganAlex Mihalcea Negan Data 8 aprilie 2019 19:22:04
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");

int n, m, x, a[310][310], t[310];
int main()
{
    int i, j, amax = -1,l1, l2;
    fin >> n >> m >> x;
    for(i = 1;i <= n;i++)
        for(j = 1;j <= m;j++)
            fin >> a[i][j];
    for(i = 1;i <= n;i++)
        for(j = 1;j <= m;j++)
            a[i][j] += a[i - 1][j];
    for(l1 = 1;l1 <= n;l1++)
        for(l2 = l1;l2 <= n;l2++)
        {
            for(i = 1;i <= m;i++)
                t[i] = a[l2][i] - a[l1 - 1][i];
            j = 1;
            int s = 0;
            for(i = 1;i <= m;i++)
            {
                s += t[i];
                while(s > x)
                {
                    s -= t[j];
                    j++;
                }
                if((l2 - l1 + 1) * (i - j + 1) > amax)
                    amax = (l2 - l1 + 1) * (i - j + 1);
            }
        }
    fout << amax;
    return 0;
}