Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <algorithm>#include <iostream>using namespace std;int a[111][111];int dp[111][111];int main() {int n;cin>>n;for(int i=1;i<=n;++i) {for(int j=1;j<=i;++j){scanf("%d",&a[i][j]);}}dp[0][0]=0;for(int i=1;i<=n;++i) {for(int j=1;j<=i;++j) {if(j>1&&j<i)dp[i][j] = max(dp[i-1][j],dp[i-1][j-1])+a[i][j];else if(j==1)dp[i][j] = dp[i-1][j]+a[i][j];else if(j==i)dp[i][j] = dp[i-1][j-1]+a[i][j];}}int ans = -555555;for(int i=1;i<=n;++i) {ans = max(ans,dp[n][i]);}printf("%d\n",ans);