Cod sursa(job #499274)

Utilizator PavelPavel Ana-Oriana Pavel Data 9 noiembrie 2010 14:45:10
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>

using namespace std;

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

int v[301][301],sum[301][301];

int main()
{
	int i,j,n,m,x,max=-4,s=0,j1,j2,jos,sus;
	in>>n>>m>>x;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			in>>v[i][j];
			sum[i][j]=sum[i][j-1]+v[i][j];
		}
	for(j1=1;j1<=m;j1++)
		for(j2=j1 ; j2<=m ; j2++)
		{
			s=0;
			jos = 0;
			for(sus=1 ; sus<=n ; ++sus)
			{
				while(jos<=n && s<=x)
				{
					++jos;
					s+=sum[jos][j2]-sum[jos][j1-1];
				}
				if((j2-j1+1)*(jos-sus)>max)
					max=(j2-j1+1)*(jos-sus);
				s-=sum[sus][j2]-sum[sus][j1-1];
			}
		}
	out<<max<<'\n';
	return 0;
}