Cod sursa(job #275469)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 10 martie 2009 14:44:56
Problema Teren Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
//#include<algorithm>
#include<stdio.h>
#define DIM 301
//using namespace std;
int n,m,x,a[DIM][DIM],sol[DIM][DIM];
void solve(){
	int i,j,k,l,max;
	scanf("%d%d%d",&n,&m,&x);
	for(i=1; i<=n; ++i)
		for(j=1; j<=m; ++j){
			scanf("%d",&a[i][j]);
			a[i][j]+=a[i][j-1];}
	for(i=1; i<=m; sol[1][i]=a[1][i],++i);
	for(i=2; i<=n; ++i)
		for(j=1; j<=m; ++j)
			sol[i][j]=sol[i-1][j]+a[i][j];
	for(i=max=0; i<n; ++i)
		for(j=0; j<m; ++j)
			for(k=i+1; k<=n; ++k)
				for(l=j+1; l<=m; ++l)
					if(sol[k][l]-sol[i][j]<=x&&(k-i)*(l-j)>max)
						max=(k-i)*(l-j);
	printf("%d",max);}
int main(){
    freopen("teren.in","r",stdin);
    freopen("teren.out","w",stdout);
    solve();
    return 0;}