Cod sursa(job #418212)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 15 martie 2010 17:24:25
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<iostream>
#include<fstream>
using namespace std;
char a[301][301];
int x,n,s[301][301],m;
int main ()
{
	ifstream f("teren.in");
	f>>n>>m>>x;
	int v[301];
	for(int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
		{
			int x;
			f>>x;
			a[i][j]=x;
			s[i][j]=s[i-1][j]+x;
		}
	int amax=0;
	for (int i=1;i<=n;i++)
		for(int j=i;j<=n;j++)
		{
			for (int k=1;k<=m;++k)
				v[k]=s[j][k]-s[i-1][k];
			int sc=0;
			for (int st=1,dr=1;dr<=m;dr++)
			{
				sc += v[dr];
				while(sc>x)
					sc -= v[st++];
				if(amax < (j-i+1) * (dr -st +1))
					amax = (j-i+1) * (dr -st +1);
			}
		}
	ofstream g("teren.out");
	g<<amax<<endl;
	return 0;
}