Cod sursa(job #416741)

Utilizator bora_marianBora marian bora_marian Data 13 martie 2010 13:13:14
Problema Teren Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;
int n,m,x;
int s[304][304],maxim;
void ssm();
int main()
{
	ifstream fin("teren.in");
	ofstream fout("teren.out");
	fin>>n>>m>>x;
	int i,j;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			fin>>s[i][j];
	for(i=1;i<=n;i++)
	   for(j=1;j<=m;j++)
		   s[i][j]=s[i-1][j]+s[i][j];
	
	ssm();
    fout<<maxim;
	return 0;
}
void ssm()
{
	int i,j,k;
	for(i=1;i<n;i++)
		for(j=1;j<=n;j++)
		{	
			int suma=0,ii=1;
			for(k=1;k<=m;k++)
			{	
				int rez;
		        rez=s[j][k]-s[i-1][k];
				if(suma+rez>x)
					suma=rez,ii=k;
				else
					suma+=rez;
			    if((j-i+1)*(k-ii+1)>maxim)
				    maxim=(j-i+1)*(k-ii+1);
			}
		}
}