Cod sursa(job #498646)

Utilizator crazzytudTudor Popa crazzytud Data 5 noiembrie 2010 18:03:36
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
short int a[301][301];
short int f[301][301];
ifstream in("teren.in");
ofstream out("teren.out");
int main()
{
	//freopen("teren.in","r",stdin);
	//freopen("teren.out","w",stdout);
	long n,m,x,i,j,arie,amax=0,c1,c2,nr;
	in>>n>>m>>x;
	//scanf("%ld%ld%ld",&n,&m,&x);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
		{
			in>>a[i][j];
			//scanf("%d",&a[i][j]);
			f[i][j]=f[i][j-1]+a[i][j];
		}
		
	
	for(c1=1;c1<=m;++c1)
		for(c2=c1;c2<=m;++c2)
		{
			j=0;nr=0;
			for(i=1;i<=n;i++)
			{
				while(j<=n&&nr<=x)
				{
					j++;
					nr+=f[j][c2]-f[j][c1-1];
				}
				nr-=f[i][c2]-f[i][c1-1];
				arie=(j-i)*(c2-c1+1);
				if(arie>amax)
					amax=arie;
			}
		}
	out<<amax;
	//printf("%ld",amax);
	return 0;
}