X개의 부분으로 나누기
면접 대비시간 제한2초메모리 제한1024 MB
길이 n인 배열을 연속한 X개의 비지 않은 구간으로 나누어, 각 구간의 합이 b_j 이상이 되게 하면서 초과분의 총합을 최소화합니다.
문제
파샤 아저씨가 전통적인 산책 중에 개의 숫자로 이루어진 배열을 주웠다. 집으로 가는 길에 좋은 친구 그리샤냐를 만났다. 그리샤냐에게는 원소가 개인 배열이 있었다. 두 친구는 커피를 마시러 가기로 하고, 주운 배열로 무엇을 할지도 생각하기로 했다.
그리샤냐는 파샤 아저씨의 배열을 연속한 원소들로 이루어진 비어 있지 않은 개의 부분으로 나누면 재미있겠다고 생각했다. 파샤 아저씨는 각 부분의 합이 같은 번호의 그리샤냐 배열 원소보다 크거나 같아야 한다고 말했다. 이 놀이가 너무 재미있어서, 두 친구는 파샤 아저씨 배열의 각 부분 합과 그리샤냐 배열의 대응하는 원소 사이의 차이를 계산하기로 했다. 이제 이 차이들의 합이 가능한 한 작아지도록 배열을 나누려 한다.
입력
첫 줄에 두 정수 , 가 주어진다 (, ). 둘째 줄에는 파샤 아저씨 배열의 원소 개가 공백으로 구분되어 주어진다 (). 셋째 줄에는 그리샤냐 배열의 원소 개가 공백으로 구분되어 주어진다 ().
출력
첫 줄에 차이 합의 최솟값을 출력한다. 그러한 나눔이 존재하지 않으면 을 출력한다.
힌트
첫 번째 입력에서는 배열을 와 로 나누는 것이 유리하다.