Cod sursa(job #1448194)

Utilizator ciocan_catalinCiocan Catalin - Iulian ciocan_catalin Data 6 iunie 2015 14:06:15
Problema Teren Scor 80
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,x,a[305][305],s[305][305],amax;
void Citire()
{
    int i,j;
    fin>>n>>m>>x;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
        fin>>a[i][j];
        s[i][j] = s[i-1][j]+a[i][j];
        }
}
int main()
{
    int j,i1,i2,suma,p;
    Citire();
    for(i1=1;i1<=n;i1++)
        for(i2=i1;i2<=n;i2++)
    {
        suma = 0;
        p = 1;
        for(j=1;j<=m;j++)
        {
            suma+=s[i2][j]-s[i1-1][j];
            while(suma>x)
            {
                suma = suma-(s[i2][p]-s[i1-1][p]);
                p++;
            }
            if(p<=j && (i2-i1+1)*(j-p+1)>amax)
                amax = (i2-i1+1)*(j-p+1);
        }
    }
    fout<<amax<<"\n";
    fout.close();
    return 0;
}