Cod sursa(job #2924478)

Utilizator daria_pDaria Popescu daria_p Data 3 octombrie 2022 14:54:37
Problema Teren Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>

using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n,i,j,m,a[305][305],v[305][305],l1,l2,x,s,k,sol,ans;
int main()
{
    fin >>n>>m>>x;
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=m;j++)
        {
            fin >>v[i][j];
        }
    }
    for (j=1;j<=m;j++)
    {
        for (i=1;i<=n;i++)
        {
            a[i][j]=a[i-1][j]+v[i][j];
        }
    }
    for (l1=1;l1<=n;l1++)
    {
        for (l2=l1+1;l2<=n;l2++)
        {
            i=1;j=1;
            s=0;
            k=a[l2][i]-a[l1-1][i];
            s=0;
            sol=0;
            while (i<=j && i<=m && j<=m)
            {
                if (s>x) {s=s-a[l2][i]-a[l1-1][i];i++;}
                else {s=s+a[l2][j]-a[l1-1][j];sol=max(sol,j-i+1);j++;}
                fout <<i<<" "<<j<<'\n';
            }
            sol--;
            ans=max(ans,sol*(l2-l1+1));
        }
    }
    fout <<ans;
    return 0;
}