Cod sursa(job #2854474)

Utilizator deaconuemaDeaconu Ema deaconuema Data 21 februarie 2022 14:04:52
Problema Teren Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,m,x,i,j,sum[301][301],l1,l2,s,st,dr,Max,y;
int main()
{
    ifstream cin("teren.in");
    ofstream cout("teren.out");
    cin>>n>>m>>x;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            cin>>y;
            sum[i][j]=sum[i-1][j]+y;///suma tuturor elementelor din coloana j si linile de la 1 la i
        }
    }
    for(l1=1;l1<=n;l1++)///l1= linia de sus
        for(l2=l1;l2<=n;l2++)///l2= linia de jos
    {
        st=1;///coloana din stanga
        s=0;
        for(dr=1;dr<=n;dr++)
        {
            s=s+sum[l2][dr]-sum[l1-1][dr];
            while(st<=dr && s>x)
            {
                s=s-(sum[l2][st]-sum[l1-1][st]);
                st++;
            }
            if((l2-l1+1)*(dr-st+1)>Max)
                Max=(l2-l1+1)*(dr-st+1);
        }
    }
    cout<<Max;
    return 0;
}