Cod sursa(job #167493)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 29 martie 2008 17:19:46
Problema Teren Scor 80
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],m,n,x,i,j,Val,Max,Arie,k,St,Suma;

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


}