#include<bits/stdc++.h>
using namespace std;
int r,a[1005][1005]={},mem[1005][1005]={};
int dp(int x,int y){
if(x==r) return a[x][y];
if(mem[x][y]) return mem[x][y];
return mem[x][y]=a[x][y]+max(dp(x+1,y),dp(x+1,y+1));
}
int main(){
cin >> r;
std::ios::sync_with_stdio(false);
for(int i=1;i<=r;i++)
for(int j=1;j<=i;j++)
cin >> a[i][j];
for(int i=1;i<=r;i++) mem[r][i]=a[r][i];
cout << dp(1,1);
return 0;
}
第8个点TLE