Cod sursa(job #559134)

Utilizator HoriaClementHoriaC HoriaClement Data 17 martie 2011 17:04:55
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>

using namespace std;

const int N=305;

int a,n,m,x;
short int s[N][N];

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

void work()
{
	in>>n>>m>>x;
	for(int i=1;i<=n;++i)
		for(int j=1;j<=m;++j)
		{
			in>>a;
			s[i][j]=s[i][j-1]+a;
		}
	int p,k,dr,rez,maxe=0;
	for(p=0;p<=m;++p)
		for(k=p+1;k<=m;++k)
		{
			rez=0,dr=0;
			for(int st=1;st<=n;++st)
			{
				while(dr<=n && rez<=x)
				{
					++dr;
					rez+=s[dr][k]-s[dr][p];
				}
				if(maxe<(p-k)*(st-dr))
					maxe=(p-k)*(st-dr);
				rez-=s[st][k]-s[st][p];
			}
		}
	out<<maxe;
}
int main()
{
	work();
	return 0;
}