Cod sursa(job #2628328)

Utilizator Iulia_DianaIulia Diana Iulia_Diana Data 15 iunie 2020 15:29:42
Problema Teren Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int mat[305][305];
int main()
{
    int n, m, x, i, j, in, sf, s, maxx=0, a;
    fin >> n >> m >> x;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
        {
            fin >> mat[i][j];
            mat[i][j]+=mat[i][j-1];
        }
    for(i=1; i<=m; i++)
        for(j=i; j<=m; j++)
        {
            in=1; sf=1; s=0;
            a=j-i+1;
            while(sf<=n)
            {
                s+=mat[sf][j]-mat[sf][i-1];
                while(s>x && in<=sf)
                {
                    s-=mat[in][j]-mat[in][i-1];
                    in++;
                }
                if((sf-in+1)*a>maxx && s<=x)   maxx=(sf-in+1)*a;
                sf++;
            }
        }
    fout << maxx;
    return 0;
}