Cod sursa(job #638086)

Utilizator SCBbestofSocaciu-Cumpanasu Bogdan SCBbestof Data 20 noiembrie 2011 18:48:21
Problema Ferma2 Scor 10
Compilator cpp Status done
Runda .com 2011 Marime 0.77 kb
#include<stdio.h>
int i,N,j,a[1001][1001],K,x,z,aux,S,S1,S2,S3;
int max(int S1, int S2 , int S3)
{
	if((S1>S2)&&(S1>=S3))
		return 1;
	if((S2>S1)&&(S2>=S3))
		return 2;
	if((S3>=S2)&&(S3>=S1))
		return 3;
	return 1;
}
int main()
{
	freopen("ferma2.in","r",stdin);
	freopen("ferma2.out","w",stdout);
	scanf("%d%d",&N,&K);
	for(i=1;i<=N;++i)
	{	for(j=1;j<=i;++j)
			scanf("%d",&a[i][j]);
	}
	x=1;
	z=0;
	for(j=1;j<=K;++j)
	{
		S1=0;
		S2=0;
		S3=0;
		for(i=1;i<=N;++i)
			S1=S1+a[i+z][i+x-1];
		for(i=1;i<=N;++i)
			S2=S2+a[i+z][x];
		for(i=x;i<=N-z;++i)
			S3=S3+a[N][i];
		aux=max(S1,S2,S3);
		switch(aux)
		{
			case 1: {++z;S=S+S1;};break;
			case 2: {++x;S=S+S2;};break;
			case 3:	{--N;S=S+S3;};break;
		}
	}
	printf("%d",S);
	return 0;
}