나무 자르기

매일 나무 한 그루를 잘라 현재 길이만큼 목재를 얻고, 자른 나무도 밤마다 A_i씩 자란다. n일 동안 얻을 수 있는 목재의 최댓값을 구한다.

보통7그리디정렬수학아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이는 나무꾼이다. 산에는 나무가 nn그루 있고, 영선이는 nn일 동안 매일 오전에 산에 올라 나무를 한 그루씩 잘라 온다.

이 산에는 영험한 기운이 있어서 나무가 밤마다 아주 빠르게 자란다. 하룻밤 사이에 자라는 길이는 나무마다 다르다. ii번 나무는 첫날 오전에 길이가 HiH_i이고, 하룻밤이 지날 때마다 길이가 AiA_i만큼 늘어난다.

나무를 자르면 자르는 순간의 길이만큼 나무를 얻고, 잘린 나무의 길이는 00이 된다. 잘린 나무도 그날 밤부터 다시 자라므로 같은 나무를 여러 번 자를 수 있다.

어느 나무를 먼저 자르느냐에 따라 nn일 동안 얻는 나무의 양이 달라진다. 영선이가 얻을 수 있는 나무 양의 최댓값을 구하시오.

입력

첫째 줄에 나무의 개수 nn이 주어진다. 나무에는 11번부터 nn번까지 번호가 붙어 있다.

둘째 줄에 첫날 오전에 잰 나무의 길이 H1,H2,,HnH_1, H_2, \dots, H_n이 공백으로 구분되어 순서대로 주어진다.

셋째 줄에 나무가 하룻밤 동안 자라는 길이 A1,A2,,AnA_1, A_2, \dots, A_n이 공백으로 구분되어 순서대로 주어진다.

출력

첫째 줄에 영선이가 nn일 동안 얻을 수 있는 나무 양의 최댓값을 출력한다.

제한

  • 1n1000001 \le n \le 100\,000
  • 1Hi1000001 \le H_i \le 100\,000
  • 1Ai100001 \le A_i \le 10\,000
  • 입력으로 주어지는 값은 모두 정수이다.