```
//根据条件往左下走的步数与往右下走的步数相差不超过1,可以得出答案是在确定的位置,所以直接取这几个位置的最大值即可;
include[HTML_REMOVED]
using namespace std;
int g[110][110],ans[110][110];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n;
cin>>n;
for(int i=1;i<=n;i)
for(int j=1;j<=i;j)
cin>>g[i][j];
for(int i=1;i<=n;i)
for(int j=1;j<=i;j)
ans[i][j]=g[i][j]+max(ans[i-1][j-1],ans[i-1][j]);
cout<<max(ans[n][(n+1)/2],ans[n][(n+2)/2])<<endl;
return 0;
}