건초 1+1 할인
면접 대비시간 제한1초메모리 제한128 MB
고급 건초 N개를 모두 사고, 각 무료 건초가 자신과 짝지은 고급 건초보다 엄격히 작도록 저급 건초 M개를 최대한 짝지어 N에 더한 값을 출력한다.
문제
한 농부가 온라인으로 건초 더미를 사다가 특별 할인을 발견했다. 고급 건초 한 더미를 살 때마다, 그보다 크기가 엄격히 작은 저급 건초 한 더미를 무료로 가져갈 수 있다.
정확히 말하면, 크기가 인 고급 건초를 사면 크기가 인 저급 건초 하나를 무료로 받을 수 있는데, 이때 반드시 여야 한다. 모든 건초 더미의 크기는 을 만족한다. 농부는 품질과 상관없이 오직 더미의 개수에만 관심이 있다.
고급 건초 개 () 와 저급 건초 개 () 의 크기가 주어진다. 농부는 무료 건초를 받지 않고 고급 건초만 따로 살 수도 있지만, 저급 건초는 절대 직접 살 수 없다. 즉 저급 건초는 오직 할인을 통해서만 무료로 얻어야 하며, 산 고급 건초 하나당 무료 저급 건초는 최대 한 개만 받을 수 있다.
농부가 얻을 수 있는 건초 더미의 최대 총 개수를 구하시오.
입력
- 1번째 줄: 공백으로 구분된 두 정수 과 .
- 번째 줄: 번째 줄에는 번째 고급 건초의 크기를 나타내는 정수 하나가 주어진다.
- 번째 줄: 번째 줄에는 번째 저급 건초의 크기를 나타내는 정수 하나가 주어진다.
출력
- 1번째 줄: 농부가 얻을 수 있는 건초 더미의 최대 총 개수.
힌트
고급 건초는 많이 살수록 손해가 없으므로 전부 사는 것이 좋다. 그다음에는 서로 다른 고급 건초와 저급 건초를 짝지어 무료 저급 건초의 수를 최대로 만들면 되는데, 각 짝은 저급 건초가 고급 건초보다 엄격히 작아야 한다. 두 목록을 정렬한 뒤, 각 저급 건초를 그보다 큰 고급 건초 중 가장 작은 것과 탐욕적으로 짝지으면 무료 건초 수가 최대가 된다.
예를 들어 고급 건초의 크기가 이고 저급 건초의 크기가 라면, 크기 짜리 고급 건초로 크기 짜리 저급 건초를, 크기 짜리 고급 건초로 크기 짜리 저급 건초를 무료로 받을 수 있다. 크기 짜리 고급 건초로는 아무것도 받을 수 없다. 따라서 총 개가 된다.