끄적 끄적

소스코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<vector<int>>v(n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i + 1; j++)
{
int data;
cin >> data;
v[i].push_back(data);
}
}
for (int i = 1; i < n; i++)
{
for (int j = 0; j < v[i].size(); j++)
{
if (j == 0)
{
v[i][j] = v[i - 1][j] + v[i][j];
}
else if (j == v[i].size() - 1)
{
v[i][j] = v[i - 1][j - 1] + v[i][j];
}
else
{
v[i][j] = max(v[i - 1][j - 1], v[i - 1][j]) + v[i][j];
}
}
}
cout << *max_element(v[n - 1].begin(), v[n -1].end());
return 0;
}