Cod sursa(job #1633952)

Utilizator roxannemafteiuMafteiu-Scai Roxana roxannemafteiu Data 6 martie 2016 13:04:21
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

#define N_Max 305

using namespace std;

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

int N, M, X;
int mat[N_Max][N_Max];
int ans;

inline int Sum(int i, int j, int c) { return mat[i][c] - mat[j][c]; }

void read()
{
    fin >> N >> M  >> X;
    for(int i = 1; i <= N; ++i)
        for(int j = 1; j <= M; ++j)
        {
            fin >> mat[i][j];
            mat[i][j] += mat[i - 1][j];
        }
}

void solve()
{
    for(int i = 1; i <= N; ++i)
        for(int j = 0; j < i; ++j)
            for (int l = 0, r = 1, s = Sum(i, j, 1); r <= M; s += Sum(i, j, ++r))
            {
                while (s > X)
                    s -= Sum(i, j, ++l);
                ans = max(ans, (i - j) * (r - l));
            }
}

int main()
{
    read();
    solve();
    return 0;
}