카드 게임
시간 제한1초메모리 제한1024 MB
니콜이 낼 카드 N장과 사이먼이 가진 M장이 주어질 때, 라운드마다 다른 카드를 내서 점수 합이 최소가 되는 값을 구합니다.
문제
니콜과 시몬은 라운드로 이루어진 카드 게임을 한다. 번째 라운드에서 니콜은 숫자 가 적힌 카드를 낸다. 그러면 시몬은 자기 손에서 카드 한 장을 내야 한다. 시몬이 낸 카드의 값이 이면 니콜은 점을 얻는다. 즉 시몬은 니콜이 낸 카드와 최대한 가까운 카드를 내려고 한다.
니콜이 낼 카드가 정확히 주어지고, 시몬이 처음에 손에 들고 있는 장의 카드가 주어질 때, 시몬이 최적으로 플레이하면 니콜이 얻을 수 있는 최소 점수는 얼마인가? 은 항상 또는 이다.
입력
첫째 줄에 두 정수 ()과 ()이 주어진다.
둘째 줄에는 정수 개가 주어진다. 번째 정수 ()는 니콜이 번째 라운드에 내는 카드의 값이다.
셋째 줄에는 정수 개가 주어진다. 번째 정수 ()는 시몬이 손에 들고 있는 번째 카드의 값이다.
출력
시몬이 최적으로 플레이할 때 니콜이 얻는 최소 총점을 정수 하나로 출력한다.
힌트
예시 1에서는 시몬이 첫 라운드에 값이 1인 카드를, 두 번째 라운드에 값이 2인 카드를 내는 것이 최적이다. 그러면 니콜은 점을 얻는다.
예시 2에서 시몬은 값이 2, 5, 1인 카드를 그 순서대로 낸다.
예시 3에서 시몬은 값이 4, 6, 3, 1인 카드를 그 순서대로 낸다.