Cod sursa(job #168649)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 31 martie 2008 18:26:09
Problema Teren Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
//Teren PreOni 2008

#include <fstream.h>

ifstream fin("teren.in");
ofstream fout("teren.out");
int A[301][301];

int main(){

      int m,n,x,i,j,Val,Max,Arie,k,St,Suma=0;
      fin>>n>>m>>x;
      for (i=1;i<=n;i++)
      	for (j=1;j<=m;j++){
               	fin>>Val;
                  A[i][j]=A[i-1][j]+A[i][j-1]-A[i-1][j-1]+Val;
            }
      Max=0;
      for (i=1;i<=n;i++)
         	for (j=i;j<=n;j++){
               	St=1;
                  Arie=j-i+1;
            	for (k=1;k<=m;k++){
                        while (Suma=A[j][k]-A[j][St-1]-A[i-1][k]+A[i-1][St-1]>x&&St<k) St++;
                        if (Suma<=x)
                          	if ((j-i+1)*(k-St+1)>Max)
                                	Max=(j-i+1)*(k-St+1);
                  }
            }
      fout<<Max;
      fout.close();


}