Cod sursa(job #2712678)

Utilizator Catalinu23Gavrila Catalin Catalinu23 Data 26 februarie 2021 11:59:35
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;

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

int n,m,x,sol;
int s[305][305];

int main()
{
    fin>>n>>m>>x;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
        {
            fin>>s[i][j];
            s[i][j]+=s[i-1][j];
        }
    int sum;
    for(int i1=1; i1<=n; i1++)
    {
        for(int i2=i1; i2<=n; i2++)
        {
            sum=0;
            int st=1;
            for(int dr = 1; dr <= m; dr++)
            {
                sum+=(s[i2][dr]-s[i1-1][dr]);
                while(sum>x)
                {
                    sum-=(s[i2][st]-s[i1-1][st]);
                    st++;
                }
                if(st<=dr&&(i2-i1+1)*(dr-st+1)>sol)
                    sol=(i2-i1+1)*(dr-st+1);
            }
        }
    }
    fout<<sol;
    return 0;
}