Cod sursa(job #498149)

Utilizator pirvupirvu tudor pirvu Data 4 noiembrie 2010 12:00:03
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<cstdio>

int n,m,k,s,jos,sus,max;

int x,i,j,j1,j2;

short int sum[301][301];

int main()
{
	
	freopen("teren.in","r",stdin);
	freopen("teren.out","w",stdout);
	
	scanf("%d%d%d", &n,&m,&k);
	
	
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
		{
			scanf("%d", &x);
			sum[i][j]=sum[i][j-1]+x;
			
		}
	for (j1=1;j1<=n;j1++)
			for (j2=j1;j2<=n;j2++)
			{
				s=0; jos=0;
				
				for (sus=1;sus<=n;++sus)
				{
					while(jos<=n && s<=k)
					{
						++jos;
						s+=sum[jos][j2]-sum[jos][j1-1];
						
					}
					
					if ( (j2-j1) * (jos-sus) > max ) max= (j2-j1) * (jos-sus);
					
					s-=sum[sus][jos];
 					
				}
				
				
				
			}
	
	printf("%d\n", max);
	
	return 0;
	
}