Pagini recente » Cod sursa (job #146691) | Cod sursa (job #1829100) | Cod sursa (job #2027800) | Cod sursa (job #3040205) | Cod sursa (job #638086)
Cod sursa(job #638086)
#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;
}