블록 쌓기
면접 대비시간 제한1초메모리 제한1024 MB
목표 높이 N과 세 가지 블록 높이가 주어질 때, 배수로 N에 가장 가까운 탑을 쌓을 수 있는 블록을 고르고 그때의 탑 높이를 출력한다.
문제
이그나스(Ignas)는 세 종류의 블록을 가지고 있습니다. 각 종류의 블록은 서로 다른 색이고 서로 다른 높이를 가집니다. 다행히 이그나스는 각 종류의 블록을 무한히 많이 가지고 있습니다.
이그나스는 이 블록들로 높이가 정확히 센티미터인 탑을 쌓고 싶어 합니다. 그런데 탑을 한 가지 색으로만 만들고 싶기 때문에, 오직 한 종류의 블록만 사용할 수 있습니다.
한 종류의 블록만으로는 정확히 센티미터인 탑을 쌓지 못할 수도 있습니다. 예를 들어 블록의 높이가 cm라면 cm, cm, cm인 탑은 쌓을 수 있지만 cm나 cm인 탑은 쌓을 수 없습니다.
이그나스는 쌓을 수 있는 탑의 높이가 에 최대한 가까워지도록 블록의 종류를 고르려고 합니다. 탑은 적어도 한 개의 블록으로 이루어져야 합니다(높이가 인 탑은 허용되지 않습니다). 가장 알맞은 블록을 골라 주세요.
입력
첫째 줄에 쌓고 싶은 탑의 높이 (센티미터)이 주어집니다. 둘째 줄에 세 종류 블록의 높이인 서로 다른 세 정수 , , (센티미터)가 주어집니다.
출력
두 정수를 출력합니다. 골라야 하는 블록의 높이와, 그 블록으로 쌓을 수 있는(에 가장 가까운) 탑의 높이입니다.
- 한 종류의 블록으로 에 똑같이 가까운 두 높이를 만들 수 있다면, 더 낮은(작은 배수) 탑을 선택합니다.
- 여러 종류의 블록이 과의 최소 거리를 똑같이 달성한다면, 높이가 더 작은 블록을 선택합니다.