시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
한 자동차 공장에는 N명의 직원이 일렬로 배치되어 있다. 직원은 왼쪽부터 오른쪽으로 1번부터 N번까지 번호가 매겨져 있으며, 각 직원이 맡은 작업은 서로 다르다.
자동차 한 대는 직원 1, 직원 2, ..., 직원 N의 순서로 작업을 거치면 완성된다. 자동차는 1번부터 M번까지 순서대로 생산해야 한다. 직원 i의 기본 작업 시간이 T_i이고 자동차 j의 복잡도가 F_j라면, 직원 i가 자동차 j에 대한 작업을 끝내는 데 걸리는 시간은 T_i * F_j이다.
어떤 직원이 자신의 작업을 끝내면 그 자동차는 즉시 다음 직원에게 넘어간다. 이때 다음 직원이 다른 자동차를 작업 중이면 안 된다. 따라서 직원 1은 필요한 경우 새 자동차 작업을 시작하기 전에 기다려서, 어떤 전달 시점에도 다음 직원이 바쁘지 않도록 해야 한다.
모든 직원의 작업 시간과 모든 자동차의 복잡도가 주어진다. 모든 자동차를 완성하는 데 필요한 최소 시간을 구하라.
첫째 줄에 N과 M이 주어진다. (1 ≤ N, M ≤ 100,000)
다음 N개 줄에는 직원 i의 기본 작업 시간 T_i가 한 줄에 하나씩 주어진다. (1 ≤ T_i ≤ 10,000)
다음 M개 줄에는 자동차 j의 복잡도 F_j가 한 줄에 하나씩 주어진다. (1 ≤ F_j ≤ 10,000)
모든 자동차를 완성하는 데 필요한 최소 시간을 하나의 정수로 출력한다.