만드는 중입니다

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

당신의 방식대로 만든 에스프레소

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

요약
고객이 받아들이는 커피와 우유의 비율 범위가 주어질 때, 반씩 섞는 방식으로 그 범위의 비율을 만들면서 버리는 재료의 양을 최소로 구하는 문제입니다.
난이도

보통10점 중 7점

유형
스택, 그리디, 수학, 정수론
정답자
아직 제출이 없습니다

문제

새 일자리를 얻었습니다. 솔직히 말해 커피는 제 취향이 아닙니다. 많은 손님이 커피와 우유의 특정 비율을 주문합니다. 임의의 양을 정확히 잴 수는 없습니다. 같은 크기의 컵이 두 개 있고, 순수한 커피를 내놓는 기계와 순수한 우유를 내놓는 기계가 있습니다.

빈 컵 하나를 커피로 가득 채우고, 두 번째 빈 컵을 우유로 가득 채울 수 있습니다. 가득 찬 두 컵을 섞어 각 컵의 절반씩 사용하면, 커피와 우유가 반반인 결과가 나옵니다. 이렇게 반반 섞인 컵을 얻지만, 재료 한 컵 분량(커피의 나머지 절반과 우유의 나머지 절반)을 버리게 됩니다.

반반 섞인 컵이 생겼으니, 두 번째 컵을 커피로 채우거나 우유로 채울 수 있습니다. 그다음 두 컵을 섞으면 다른 비율의 컵이 만들어집니다. 두 컵을 섞을 때는 각 컵의 정확히 절반을 쓰고, 나머지 절반은 버립니다.

이 과정을 반복하면 일부 비율은 만들 수 있지만, 어떤 비율은 만들 수 없습니다.

고객이 허용하는 커피와 우유의 비율 범위가 주어지면, 주문을 최적으로 준비했을 때 버리는 재료의 양이 가장 적은 경우를 구하세요.

입력

입력은 한 줄이며, 정수 C1C_1, M1M_1, C2C_2, M2M_2 (0≤C1,M1,C2,M2≤1060 \le C_1, M_1, C_2, M_2 \le 10^6)가 주어집니다. 고객은 M1M_1 단위의 우유에 C1C_1 단위의 커피를 섞은 비율부터 M2M_2 단위의 우유에 C2C_2 단위의 커피를 섞은 비율까지 받아들입니다. 두 비율은 서로 같지 않으며, C1+M1>0C_1 + M_1 > 0, C2+M2>0C_2 + M_2 > 0, C1C1+M1≠C2C2+M2\frac{C_1}{C_1+M_1} \ne \frac{C_2}{C_2+M_2}가 보장됩니다.

출력

주문을 최적으로 준비했을 때 버리는 재료 컵 수의 최솟값을 정수 하나로 출력합니다.

예제3

  1. 예제 1

    입력
    1 2 2 1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1 10 0 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1 99 49 51
    
    예상 출력
    2