Cod sursa(job #639138)

Utilizator borsoszalanBorsos Zalan borsoszalan Data 22 noiembrie 2011 16:01:07
Problema DreptPal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>

int a[1010][1010],b[1010][1010],n,m,i,j,k, MAX=0, aux;

int main()
{
	freopen("dreptpal.in", "r", stdin);
	freopen("dreptpal.out", "w", stdout);
	scanf("%d%d", &n, &m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d", &a[i][j]);
	for(j=1;j<=m-2;j++)
		for(i=1;i<=n;i++)
			if(a[i][j]==a[i][j+2])
			{
				aux++;
				b[i][j]=3;
				if(aux*3>MAX)
					MAX=aux*3;
			}
			else aux=0;
	aux=0;
	for(k=5;k<=m;k++)
		for(j=1;j+k-1<=m;j++)
			for(i=1;i<=n;i++)
				if(b[i][j+1]==k-2&&a[i][j]==a[i][j+k-1])
				{
					aux++;
					b[i][j]=k;
					if(aux*k>MAX)
						MAX=aux*k;
				}
				else aux=0;
	printf("%d\n", MAX);
	return 0;
}