数字三角形
const int N=510;
int a[N][N];
int f[N][N];
int n;
int main()
{
cin>>n;
memset(f,-0x3f,sizeof f);
f[0][0]=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
{
cin>>a[i][j];
f[i][j]=max(f[i-1][j-1],f[i-1][j])+a[i][j];
}
int res=-INF;
for(int i=1;i<=n;i++)
res=max(res,f[n][i]);
cout<<res<<endl;
//system("pause");
}