Cod sursa(job #752827)

Utilizator nrpcCiprian Stirbu nrpc Data 29 mai 2012 18:08:44
Problema Teren Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
using namespace std;
int v[301][301];
int main()
{
	freopen("teren.in","r",stdin);
	freopen("teren.out","w",stdout);
	int n,m,i,j,i1,j1,a,x1,y1,x2,y2,max=0,z;
	scanf("%d%d%d",&n,&m,&a);
	for(i=1;i<=n;i++)for(j=1;j<=m;j++){scanf("%d",&z);v[i][j]=v[i-1][j]+v[i][j-1]-v[i-1][j-1]+z;}
	for(i=1;i<=n;i++)for(j=1;j<=m;j++)
	{
		x1=j;y1=i;
		for(i1=i;i1<=n;i1++)for(j1=j;j1<=m;j1++)
		{
			x2=j1;y2=i1;
			if(v[i1][j1]-v[i-1][j]-v[i][j-1]+v[i-1][j-1]<=a&&(x2-x1+1)*(y2-y1+1)>max)max=(x2-x1+1)*(y2-y1+1);
		}
	}
	printf("%d",max);
	return 0;
}