개발자 크루

갑오징어

📌 C++ 풀이 📌 1일 1 알고리즘

DP

썸네일

조립라인

난이도
3 단계
참가자
1
제출
1
정답률
100.00 %
언어별 시간/메모리
언어별 시간/메모리 표
언어 시간 메모리
C 1초 256MB
C++ 1초 256MB
Java 2초 256MB
Python 2초 256MB
JavaScript 2초 256MB

동일한 자동차를 생산하는 2개의 조립 라인 A와 B가 있다. 두 조립라인에는 각각 N개의 작업장이 있다. 각각의 작업장을 Ai (1 ≤ i ≤ N)와 Bi (1 ≤ i ≤ N)로 표시하자. Ai 작업장과 Bi 작업장은 동일한 작업을 수행하지만 작업시간은 다를 수 있다. A 조립 라인의 경우 A1 작업장에서 최초 조립이 시작되고, Ai 작업장에서 작업이 종료되면 바로 Ai+1 작업장에서 작업을 시작할 수 있다.


B 조립 라인도 동일한 방식으로 조립을 진행한다. Ai 작업장에서 Bi+1작업장으로 혹은 Bi 작업장에서 Ai+1작업장으로 반조립 제품의 이동이 가능(이동시간이 추가됨)할 때 자동차 1대의 가장 빠른 조립 시간을 구하여라.

제약조건

1 ≤ N ≤ 103 인 정수
각 작업시간과 이동시간은 105을 넘지 않는 양의 정수

입력형식

첫 번째 줄에 작업장의 수 N이 주어진다. i+1 (1 ≤ i ≤ N-1) 번째 줄에는 Ai 작업장의 작업시간, Bi 작업장의 작업시간, Ai 작업장에서 Bi+1 작업장까지 이동시간, Bi 작업장에서 Ai+1 작업장까지 이동시간이 차례로 주어진다. 마지막 N+1번째 줄에는 AN 작업장과 BN 작업장의 작업시간이 주어진다.

출력형식

첫 번째 줄에 가장 빠른 조립시간을 출력하라.

입력예제1

2 1 3 1 2 10 2

출력예제1

4