만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

구슬이 알려주는 오늘의 행운의 수

면접 대비

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

요약
비어 있지 않은 그릇 중 가장 왼쪽의 최솟값을 나머지 그릇에서 빼는 과정을 한 그릇만 남을 때까지 반복하고, 남은 그릇의 구슬 수를 출력한다.
난이도

보통10점 중 4점

유형
시뮬레이션, 구현, 배열
정답자
아직 제출이 없습니다

문제

다음과 같은 방법으로 오늘의 행운의 수를 알아낼 수 있다.

그릇 네 개와 충분히 많은 구슬을 준비한다. 그릇을 왼쪽에서 오른쪽으로 나열하고, 깊이 명상한 뒤 그릇에 임의의 개수만큼 구슬을 넣는다. 그릇마다 구슬의 개수는 달라도 되고, 비어 있는 그릇이 있어도 되지만, 적어도 하나는 비어 있지 않아야 한다.

구슬이 들어 있는 그릇 중에서 구슬의 개수가 가장 적은 그릇을 고른다. 구슬의 개수가 가장 적은 그릇이 여러 개라면 가장 왼쪽의 그릇을 고른다. 나머지 비어 있지 않은 그릇 모두에서 고른 그릇에 든 구슬의 개수만큼 구슬을 꺼낸다. 고른 그릇의 구슬은 그대로 둔다.

비어 있지 않은 그릇이 하나만 남을 때까지 이 과정을 반복한다. 비어 있지 않은 그릇에 든 구슬의 개수가 오늘의 행운의 수이다.

오른쪽 그림은 Sample Input의 첫 번째 데이터셋에 해당하는 예를 보여준다.

  1. 오른쪽에서 두 번째 그릇에 든 구슬이 네 개로 가장 적다.
  2. 다른 그릇에서 각각 구슬 네 개를 꺼냈다. 이제 가장 오른쪽 그릇에 구슬이 두 개 남아 가장 적다.
  3. 다른 그릇에서 각각 구슬 두 개를 꺼냈다. 가장 왼쪽 그릇을 제외한 세 그릇에 구슬이 두 개씩 남아 가장 적다. 이 세 그릇 중 가장 왼쪽, 즉 왼쪽에서 두 번째 그릇을 고른다.
  4. 다른 그릇에서 각각 구슬 두 개를 꺼냈다. 이제 구슬이 든 그릇이 두 개뿐이고 둘 다 구슬이 두 개다. 따라서 가장 왼쪽 그릇을 고른다.
  5. 두 번째 그릇에서 구슬 두 개를 꺼내 비어 있지 않은 그릇이 하나만 남았고, 그 그릇은 구슬이 두 개 든 가장 왼쪽 그릇이다. 그렇다, 오늘의 행운의 수는 둘!

입력

입력은 여러 데이터셋으로 이루어지며, 각 데이터셋은 다음 형식이다.

a1 a2 a3 a4

각 데이터셋은 네 정수 a1부터 a4까지를 담은 한 줄로 이루어진다. 이 네 정수는 네 그릇에 처음 들어 있는 구슬의 개수이다. 네 정수는 모두 0 이상 100 이하이고, 적어도 하나는 0이 아니다.

입력의 끝은 네 개의 0을 담은 줄로 나타낸다.

데이터셋의 수는 100을 넘지 않는다.

출력

각 데이터셋마다 위에서 설명한 과정으로 정해지는 행운의 수를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    10 8 4 6
    0 21 7 35
    5 45 13 3
    52 13 91 78
    0 0 0 0
    
    예상 출력
    2
    7
    1
    13