Cod sursa(job #641846)

Utilizator c_adelinaCristescu Adelina c_adelina Data 29 noiembrie 2011 18:14:58
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
int a[1003][1003];
int main()
{
	int n,i,j,x,l,min,k,s,q,sum=0;
	freopen("ferma2.in","r",stdin);
	freopen("ferma2.out","w",stdout);
	scanf("%d %d",&n,&k);
	for (i=1;i<=n;sum+=a[i][i],++i)
		for (j=1;j<=i;++j)
		{scanf("%d",&a[i][j]);
		 a[i][j]+=a[i][j-1];
		}
	min=sum;	
	x=k+2;l=n-k;	
	for (i=1;i<x;++i)
	{
		s=0;
		for (j=i;j<i+n-k;++j)
			s+=a[j][i+j-i]-a[j][i-1];
		if (s<min) min=s;
		for (;j<=n;++j)
		{
			for (q=j-l;q<j;++q)
				s-=a[q][i+q-j+l]-a[q][i+q-j+l-1];
			s+=a[j][i+l-1]-a[j][i-1];
			if (s<min) min=s;
		}
	}
	printf("%d\n",sum-min);
		
	return 0;
}