Cod sursa(job #2390399)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 27 martie 2019 23:47:22
Problema Teren Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

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

const int VAL=305;

int N, M, X, i, j;
int v[VAL][VAL], col[VAL][VAL];
int lin, L, be, S, ANS;


int main()
{
    fin >> N >> M >> X;
    for (i=1; i<=N; i++)
    {
        for (j=1; j<=M; j++)
        {
            fin >> v[i][j];
            col[i][j]=col[i-1][j]+v[i][j];
        }
    }
    for (lin=1; lin<=N; lin++)
    {
        for (L=lin; L<=N; L++)
        {
            be=1;
            S=0;
            for (j=1; j<=N; j++)
            {
                S+=col[L][j]-col[L-lin][j];
                while (S>X)
                {
                    S-=col[L][be]-col[L-lin][be];
                    be++;
                }
                ANS=max(ANS, lin*(j-be+1));
            }
        }
    }
    fout << ANS << '\n';
    fin.close();
    fout.close();
    return 0;
}