动态规划入门题
#include <iostream>
#include <vector>
using namespace std;
const int maxn = 505;
vector<vector<int>> arr;
int main() {
int n, x;
cin >> n;
for(int i = 0; i < n; i++){
vector<int> v;
for(int j= 0; j <= i; j++){
cin >> x;
v.push_back(x);
}
arr.push_back(v);
}
vector<int> f(arr[n-1].begin(), arr[n-1].end()), g(n);
for(int i = n - 2; i >= 0; i--){
for(int j = 0; j <= i; j++){
g[j] = max(f[j], f[j+1]) + arr[i][j];
}
f = g;
}
cout<<f[0]<<endl;
return 0;
}