Cod sursa(job #111556)

Utilizator savimSerban Andrei Stan savim Data 30 noiembrie 2007 16:37:55
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
int i,j,k,n,m,x,max,p,q,sup;
int a[101][101],s[101][101];
int v[1000];
int main()
{
	scanf("%d%d%d",&n,&m,&x);
	for (i=1; i<=n; i++)
		for (j=1; j<=m; j++)
			scanf("%d",&a[i][j]);
	for (i=1; i<=n; i++)
		for (j=1; j<=m; j++)
			s[i][j]=s[i-1][j]+a[i][j];
	max=0;
	for (i=1; i<=n; i++)
		for (j=n; j>=i; j--)
		{
		 for (k=1; k<=m; k++)
			v[k]=s[j][k]-s[i-1][k];

		 p=1;
		 q=1;
		 int p1=0,sup=0,p2=0;
		 int s=0;
		 while (p<m)
		 {
			q++;
			s=s+v[q];
			if (s>max)
			{
				p1=p;p2=q;
				max=s;
				sup=(p1+p2)*(j-i+1);
			}
			if (s<0 || s>x) s=0;
		 }
		}


	printf("%d",sup);
	return 0;
}