Cod sursa(job #418762)

Utilizator marian77ivan marian liviu marian77 Data 16 martie 2010 12:58:43
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
int nr,n,m,x,max,v[301][301],i,j,dr,st,ok;
int main() {
	FILE *f=fopen("teren.in","r");
	FILE *g=fopen("teren.out","w");
	fscanf(f,"%d%d%d",&n,&m,&x);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++){
			fscanf(f,"%d",&v[i][j]);
			v[i][j]=v[i][j]+v[i-1][j];
		}
	for(i=1;i<=n;i++)
		for(j=i;j<=n;j++) {
			st=1;
			dr=1;
			nr=0;
			for(dr=1;dr<=m;dr++){
				nr=nr+v[j][dr]-v[i-1][dr];
				while(st<=dr &&nr>x)
				{
					nr=nr-(v[j][st]-v[i-1][st]);
					st++;
				}
				if(st<=dr)
				if(max<(j-i+1)*(dr-st+1))
					max=(j-i+1)*(dr-st+1);
				}
			}
		
		
	fprintf(g,"%d",max);
	return 0;
}