Cod sursa(job #1723731)

Utilizator ade_tomiEnache Adelina ade_tomi Data 1 iulie 2016 14:25:19
Problema Teren Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<iostream>
#include<fstream>
using namespace std;
int i,j,n,m,sol,unu[304][304],p,k,x,sum;
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>>unu[i][j];
            if(unu[i][j]==1)
                unu[i][j]=unu[i-1][j]+1;
            else unu[i][j]=unu[i-1][j];
        }
    for(i=0;i<n;i++)
        for(j=i+1;j<=n;j++)
        {

            sum=0;p=1;

            for(k=1;k<=m;k++)
            {
                sum-=(unu[j][k-1]-unu[i][k-1]);
                while(sum<=x&&p<=m)
                {
                    sum+=unu[j][p]-unu[i][p];
                    p++;
                }
                p--;
                sum-=unu[j][p]-unu[i][p];


                if(sum<=x)
                sol=max(sol,(j-i)*(p-k));


            }

        }
    cout<<sol;
    return 0;
}