Cod sursa(job #318972)

Utilizator aladinaladin aladinn aladin Data 30 mai 2009 00:58:04
Problema Teren Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{int k,a[304][305],st,dr,suma,arie_max,m,x,i,j,n;
 
 freopen("teren.in","r",stdin);
 freopen("teren.out","w",stdout);
 scanf("%d %d %d",&n,&m,&x);
 for (i=1;i<=m;i++) a[0][i]=0;
 for (i=1;i<=n;i++)
	 for (j=1;j<=m;j++)
	 {scanf("%d",&k);
	  a[i][j]=a[i-1][j]+k;
	 }
 for (i=1;i<=n;i++)
    for (j=i;j<=n;j++)
	for (st=1,suma=0,dr=1;dr<=m;dr++)
	{suma += a[j][dr]-a[i-1][dr];  
     for (;((st <= dr)&&(suma > x));)  
	 {
         suma -= a[j][st]-a[i-1][st];
         st = st+1;
			if (st<=dr)
		arie_max = max(arie_max, (j-i+1)*(dr-st+1)) 	;
	 }		
	}
printf("%d",arie_max);
return 0;}