정수 삼각형


답안 제출

Points: 10
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

위에서 아래로 내려오는 숫자 삼각형이 주어진다. 맨 위 층에서 출발하여 제일 아래 층으로 내려오면서 거쳐간 숫자들의 합을 구하려고 한다.

아래 층으로 이동할 때는 현재 위치에서 대각선 왼쪽 아래 또는 대각선 오른쪽 아래로만 한 칸씩 이동할 수 있다.

삼각형의 높이 \(R\)과 각 위치의 숫자들이 주어졌을 때, 맨 아래 층에 도착했을 때 얻을 수 있는 숫자 합의 최댓값을 구하는 프로그램을 작성하시오.

예를 들어, 아래와 같은 높이 \(5\)의 삼각형이 있을 때:

        7
      3   8
    8   1   0
  2   7   4   4
4   5   2   6   5

\(7 \to 3 \to 8 \to 7 \to 5\) 경로를 따라 이동하면 합이 \(30\)이 되며, 이 값이 얻을 수 있는 최댓값이다.

입력

첫째 줄에 삼각형의 높이 \(R\)이 주어진다. (\(1 \le R \le 1,000\))

둘째 줄부터 \(R\)개의 줄에 걸쳐 각 층의 숫자 정보가 입력된다.

\(i\)번째 줄에는 \(i\)개의 정수가 공백으로 구분되어 주어진다. 각 값들의 범위는 \(0 \sim 100\)이다.

출력

맨 아래 층까지 내려왔을 때 얻을 수 있는 숫자 합의 최댓값을 출력한다.

예제 입력 1

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

예제 출력 1

30

출처

ioi 1994


코멘트

현재 작성된 코멘트가 없습니다.