Cod sursa(job #812860)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 14 noiembrie 2012 16:45:00
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
using namespace std;

short S[301][301];
char ch[650];
int n,m,i,j,x,l,r,s,sol=0;
int main()
{
	freopen("teren.in","r",stdin); freopen("teren.out","w",stdout);
	scanf("%d %d %d\n",&n,&m,&x);
	for (i=1;i<=n;i++){fgets(ch,605,stdin); for (j=1;j<=m;j++) S[i][j]=S[i][j-1]+ch[j*2-2]-'0';}
	for (i=1;i<m;++i)
		for (j=i+1;j<=m;++j)
		{
			l=0;s=0;
			for (r=1;r<=n;++r)
			{
				s+=S[r][j]-S[r][i-1];
				while (l<r&&s>x)
				{
					l++;
					s-=S[l][j]-S[l][i-1];
				}
				if ((r-l)*(j-i+1)>sol) sol=(r-l)*(j-i+1);
			}
		}
	printf("%d\n",sol);
	return 0;
}