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

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

턴 게임 2

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

요약
1, 3, 5, ... 점을 주는 턴에서 윤호가 x점, 동혁이 y점이 되도록 승패를 나눌 수 있는지 판정하고, 윤호가 이긴 턴 수의 최솟값을 구한다.
난이도

보통10점 중 5점

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

문제

윤호와 동혁이는 알고리즘 캠프에 참가하고 있다. 두 사람은 문제가 잘 풀리지 않을 때 게임을 하면서 쉰다.

게임은 여러 번의 턴으로 이루어지고, 각 턴은 두 사람 중 한 명이 이긴다. 턴 번호는 1부터 시작하며, ii번째 턴을 이긴 사람은 2i−12i-1점을 얻는다.

게임의 총 턴 수는 정해져 있지 않다. 0번을 포함해 어떤 턴 수든 가능하다.

두 정수 xx와 yy가 주어진다. 윤호의 점수가 xx, 동혁이의 점수가 yy가 되는 것이 가능한지 판정하고, 가능하다면 윤호가 최소 몇 번 이겨야 하는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 xx와 yy가 주어진다. (0≤x,y≤10120 \le x, y \le 10^{12})

출력

윤호가 최소 몇 번 이겨야 하는지 출력한다. 두 사람의 점수가 각각 xx와 yy가 되는 것이 불가능하면 -1을 출력한다.

예제5

  1. 예제 1

    입력
    8 17
    
    예상 출력
    2
    
  2. 예제 2

    입력
    17 8
    
    예상 출력
    3
    
  3. 예제 3

    입력
    0 0
    
    예상 출력
    0
    
  4. 예제 4

    입력
    9 9
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    500000 500000
    
    예상 출력
    294