/*
ID: ljracm1
LANG: C++
PROB: numtri
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#define T
using namespace std;
int R;
int s[1004][1004];
int dp[1004][1004];
int main(){
#ifdef T
freopen("numtri.in","r",stdin);
freopen("numtri.out","w",stdout);
#endif
cin>>R;
for(int i=1; i<=R; i++)
for(int j=1; j<=i; j++)
cin>>s[i][j];
memset(dp,0,sizeof(dp));
dp[1][1]=s[1][1];
for(int i=1; i<=R-1; i++){
for(int j=1; j<=i; j++){
dp[i+1][j] = max(dp[i][j]+s[i+1][j],dp[i+1][j]);
dp[i+1][j+1] = max(dp[i][j]+s[i+1][j+1],dp[i+1][j+1]);
}
}
int ans=0;
for(int i=1; i<=R; i++)
ans = max(ans,dp[R][i]);
cout<<ans<<endl;
return 0;
}
usaco numtri
最新推荐文章于 2020-01-22 21:50:38 发布