Cod sursa(job #499688)

Utilizator FERI24Forrai Francisc FERI24 Data 10 noiembrie 2010 17:40:36
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
//#include<fstream>
using namespace std;
int n,m,M,x;
short int q[303][303];
int main()
{
	freopen("teren.in","r",stdin);
	freopen("teren.out","w",stdout);
	scanf("%d%d%d",&n,&m,&M);
	//in>>n>>m>>M;
	for (int i=1;i<=n;++i)
		for (int j=1;j<=m;++j)
		{
			scanf("%d",&x);
			//in>>x;
			q[i][j]=q[i][j-1]+x;
		}
	int arieM=-1,j,s,i;
	for (int i1=1;i1<=m;++i1)
		for (int i2=i1;i2<=m;++i2)
		{
			j=0,s=0;
			for (i=1;i<=m;++i)
			{
				while (j<=n && s<=M)
				{
					++j;
					s+=q[j][i2]-q[j][i1-1];
				}
				if ((j-i)*(i2-i1+1)>arieM)
					arieM=(j-i)*(i2-i1+1);
				s-=q[i][i2]-q[i][i1-1];
			}
		}
	//out<<arieM<<'\n';
	printf("%d\n",arieM);
	return 0;
}