数字金字塔

jck211303 / 2023-07-22 / 原文

#include<bits/stdc++.h>
using namespace std;
int n,a[1001][1001],f[1001][1001],s=0;
int main()
{
    cin>>n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=i; j++)
            cin>>a[i][j];
    for(int i=1; i<=n; i++)
        for(int j=1; j<=i; j++)
        f[i][j]=a[i][j]+max(f[i-1][j],f[i-1][j-1]);    
    for(int i=1; i<=n; i++)
    s=max(s,f[n][i]);
    cout<<s<<endl;
    return 0;
}