#include<iostream.h>
int a[17];
int sum( int m,int n,int d)
{
int min ;
// m=11, n=15 d=5
for ( min = m; min <n; min++)
{ if (a[min] + a[min - d + 1] > a[min - d + 1] + a[min + 1])
a[min - d + 1] = a[min] + a[min - d + 1];
else
a[min - d + 1] = a[min - d + 1] + a[min + 1];
//cout<<a[min-d+1]<<endl;;
}
if (d==1)
{
cout<<"最长路径长度为"<<a[min-d+1]<<endl;
return 0;
}
else
{
d =d-1;
// cout<<d<<min-d-d<<min-d-1<<endl;
sum(min-d-d,min-d-1,d);
}
}
void main()
{
cout<<"请输入数据"<<endl;
for (int x = 1; x <=15; x++)
{
cin>>a[x];
}
int L=17;
int su = 0; int i; int t;
for ( i = 1; i <= L/2; i++)
{
su = su + i;
if(su==L-2)
break;
}
sum(L-i-1,L-2,i);
}