Cod sursa(job #168618)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 31 martie 2008 17:55:18
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
//Teren PreOni 2008

#include <fstream.h>

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

int Sum(int x1,int y1,int x2,int y2){
	return A[x1][y1]-A[x1][x2-1]-A[y2-1][y1]+A[y2-1][x2-1];
}
int main(){
	fin>>n>>m>>x;
      int m,n,x,i,j,Val,Max,Arie,k,St,Suma;
      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-1;i++)
         	for (j=i;j<=n;j++){
               	St=1;
                  Arie=j-i+1;
            	for (k=1;k<=m;k++){
                        while (Sum(j,k,St,i)>x&&St<k) St++;
                        if (Sum(i,j,St,i)<=x)
                          	if ((j-i+1)*(k-St+1)>Max)
                                	Max=(j-i+1)*(k-St+1);
                  }
            }
      fout<<Max;
      fout.close();


}