#220나무 자르기

기초
⏱ 시간 제한: 2|💾 메모리 제한: 512 MB

문제 설명

높이가 a_1, a_2,..., a_n인 나무 n개를 전기톱을 이용해서 자르려고 한다.

i번 나무에 전기톱을 사용할 때 마다 그 나무의 높이는 1만큼 감소한다. 전기톱은 사용할 때 마다 충전해야 한다. 전기톱을 충전하는 비용은 완전히 자른 나무의 번호에 영향을 받는다. 즉, 높이가 0이 되어버린 나무의 번호에 영향을 받는다. 완전히 잘려진 나무의 번호 중 최댓값이 i이면, 전기톱을 충전하는 비용은 b_i이다. 완전히 잘려진 나무가 없다면 전기톱은 충전할 수가 없다. 가장 처음에 전기톱은 충전되어져 있다.

나무의 높이 a_i와 각각의 나무에 대한 충전 비용 b_i가 주어졌을 때, 모든 나무를 완전히 자르는데 (높이를 0으로 만드는데) 필요한 충전 비용의 최솟값을 구하는 프로그램을 작성하시오.

입력 설명

첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 둘째 줄에는 a_1, a_2,..., a_n이, 셋째 줄에는 b_1, b_2,..., b_n이 주어진다. (1 ≤ a_i ≤ 10^9, 0 ≤ b_i ≤ 10^9)

a_1 = 1이고, b_n = 0이며, a_1 b_2 >... > b_n을 만족한다.

출력 설명

나무를 완전히 자르는 충전 비용의 최솟값을 출력한다.

예제

입력 1

4
1 2 3 4
4 3 2 0

출력 1

16

관련 태그

언어:

테스트 실행 결과가 여기에 표시됩니다

제출하려면 로그인이 필요해요