|
@@ -2,26 +2,25 @@
|
|
|
// Created by liuhuan on 18-11-7.
|
|
|
//
|
|
|
#include <bits/stdc++.h>
|
|
|
+
|
|
|
using namespace std;
|
|
|
-int main(){
|
|
|
- int n;
|
|
|
- cin >> n;
|
|
|
- int a[n+1][n+1];
|
|
|
- for(int i = 1; i <= n; i++){
|
|
|
- for(int j = 1; j <= i; j++){
|
|
|
- cin >> a[i][j];
|
|
|
- }
|
|
|
- }
|
|
|
+#define Max 101
|
|
|
|
|
|
- int sum[n+1][n+1];
|
|
|
- sum[1][1] = a[1][1];
|
|
|
- for(int i = 2; i <= n; i++){
|
|
|
- sum[i][1] = sum[i-1][1] + a[i][1];
|
|
|
- for(int j = 2; j < i; j++){
|
|
|
- sum[i][j] = max(sum[i-1][j-1], sum[i-1][j]) + a[i][j];
|
|
|
+int D[Max][Max];
|
|
|
+int num;
|
|
|
+int MaxSum(int num){
|
|
|
+ for(int i = num - 1; i >= 1; i --)
|
|
|
+ for(int j = 1; j <= i; j ++){
|
|
|
+ D[i][j] = max(D[i+1][j],D[i+1][j+1]) + D[i][j];
|
|
|
}
|
|
|
- sum[i][i] = sum[i-1][i-1] + a[i][i];
|
|
|
- }
|
|
|
- cout << *max_element(sum[n]+1, sum[n]+n+1) << endl;
|
|
|
+ return D[1][1];
|
|
|
+}
|
|
|
+int main()
|
|
|
+{
|
|
|
+ cin >> num;
|
|
|
+ for(int i = 1; i <= num; i ++)
|
|
|
+ for(int j = 1; j <= i; j ++)
|
|
|
+ cin >> D[i][j];
|
|
|
+ cout << MaxSum(num) << endl;
|
|
|
return 0;
|
|
|
}
|