33,008
社区成员
发帖
与我相关
我的任务
分享
int n, temp, i, j;
cin>>n;
int *S[2];
S[0]=new int[n]; S[1]=new int[n];
for( j=0; j<n; ++j )
S[0][j]=0;
cin>>S[0][0];
for( i=1; i<n; ++i ){
for( j=0; j<=i; ++j ){
cin>>temp;
if( j==0 )
S[1][0]=S[0][0]+temp;
if( j==i )
S[1][j]=S[0][j-1]+temp;
else
S[1][j]=max( S[0][j], S[0][j-1] )+temp;
}
for( j=0; j<=i; ++j )
S[0][j]=S[1][j];
}
int result=S[1][0];
for( i=1; i<n; ++i )
result=max(S[1][i],result);
cout<<result<<endl;
delete []S[0]; delete []S[1];