Cod sursa(job #1594512)

Utilizator radiogard1999Dragoi Andrei radiogard1999 Data 9 februarie 2016 15:44:51
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;

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

int n,m,k,a[303][303];

void Citire()
{
    int i,j,x;
    fin>>n>>m>>k;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
    {
        fin>>x;
        a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+x;
    }
    fin.close();
}

void Rezolvare()
{
    int s,i,p,aux,j;
    s=0;
    for(i=1;i<=n;i++)
    {
        for(j=i;j<=n;j++)
        {
            aux=1;
            for(p=1;p<=m;p++)
            {
                while(a[j][p]-a[j][aux-1]-a[i-1][p]+a[i-1][aux-1]>k&&aux<=p)
                    aux++;
                if((j-i+1)*(p-aux+1)>s)
                    s=(j-i+1)*(p-aux+1);
            }
        }
    }
    fout<<s<<"\n";
    fout.close();
}

int main()
{
    Citire();
    Rezolvare();
    return 0;
}