Cod sursa(job #639064)

Utilizator lily3Moldovan Liliana lily3 Data 22 noiembrie 2011 13:14:35
Problema Ferma2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;

int i,j,t,n,m,lin[1001][1001],col[1001][1001],diag[1001][1001],x,k;
int rez=0,min1=10000000,c1,c2,l1,l2,d1,d2,sum,r;
int main()
{
	FILE *f=fopen("ferma2.in","r");
	FILE *g=fopen("ferma2.out","w");
	fscanf(f,"%d%d",&n,&k);
	lin[1][0]=col[0][1]=diag[0][0]=0;
	for(i=1;i<=n;i++)
	{
		lin[i][0]=col[0][i]=diag[i-1][0]=0;
		for(j=1;j<=i;j++)
		{
			fscanf(f,"%d",&x);
			lin[i][j]+=lin[i][j-1]+x;
			col[i][j]+=col[i-1][j]+x;
			diag[i][j]+=diag[i-1][j-1]+x;
			sum+=x;
		}
	}
	m=n-k;
	for(i=n;i>=m;i--)
	{
		for(j=i;j>=m;j--)
		{
			rez=0;
			r=m;
			for(t=j;t>j-m;t--)
				rez+=(diag[i][t]-diag[i-r][t-r]),r--;
			if(min1>rez)
				min1=rez;
		}
	}
	fprintf(g,"%d ",sum-min1);
	return 0;
}