아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

블록 쌓기

면접 대비

시간 제한1초메모리 제한1024 MB

요약
목표 높이 N과 세 가지 블록 높이가 주어질 때, 배수로 N에 가장 가까운 탑을 쌓을 수 있는 블록을 고르고 그때의 탑 높이를 출력한다.
난이도

쉬움10점 중 2점

유형
수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

이그나스(Ignas)는 세 종류의 블록을 가지고 있습니다. 각 종류의 블록은 서로 다른 색이고 서로 다른 높이를 가집니다. 다행히 이그나스는 각 종류의 블록을 무한히 많이 가지고 있습니다.

이그나스는 이 블록들로 높이가 정확히 NN 센티미터인 탑을 쌓고 싶어 합니다. 그런데 탑을 한 가지 색으로만 만들고 싶기 때문에, 오직 한 종류의 블록만 사용할 수 있습니다.

한 종류의 블록만으로는 정확히 NN 센티미터인 탑을 쌓지 못할 수도 있습니다. 예를 들어 블록의 높이가 33cm라면 33cm, 66cm, 99cm인 탑은 쌓을 수 있지만 77cm나 1010cm인 탑은 쌓을 수 없습니다.

이그나스는 쌓을 수 있는 탑의 높이가 NN에 최대한 가까워지도록 블록의 종류를 고르려고 합니다. 탑은 적어도 한 개의 블록으로 이루어져야 합니다(높이가 00인 탑은 허용되지 않습니다). 가장 알맞은 블록을 골라 주세요.

입력

첫째 줄에 쌓고 싶은 탑의 높이 NN(센티미터)이 주어집니다. 둘째 줄에 세 종류 블록의 높이인 서로 다른 세 정수 aa, bb, cc(센티미터)가 주어집니다.

출력

두 정수를 출력합니다. 골라야 하는 블록의 높이와, 그 블록으로 쌓을 수 있는(NN에 가장 가까운) 탑의 높이입니다.

  • 한 종류의 블록으로 NN에 똑같이 가까운 두 높이를 만들 수 있다면, 더 낮은(작은 배수) 탑을 선택합니다.
  • 여러 종류의 블록이 NN과의 최소 거리를 똑같이 달성한다면, 높이가 더 작은 블록을 선택합니다.

제한

  • 1≤N≤10001 \le N \le 1000
  • 1≤a<b<c≤1001 \le a < b < c \le 100

예제3

  1. 예제 1

    입력
    10
    3 4 6
    
    예상 출력
    3 9
    
  2. 예제 2

    입력
    14
    5 6 7
    
    예상 출력
    7 14
    
  3. 예제 3

    입력
    17
    5 6 7
    
    예상 출력
    6 18