시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 234 35 30 17.751%

문제

0점에서 시작해 매 턴 점수를 획득해 나가는 게임이 있다. 각 턴에서 플레이어가 게임 에서 승리하면 a점을 얻고, 지면 b점을 얻는다. 점수의 총합이 n점 이상이면 게임이 끝나게 된다.

포스텍의 한 학생이 이 게임을 해킹하는 데 성공했다. 그래서 각 턴에서 승리할지, 질지 자유롭게 결정할 수 있다. 심지어는 원하는 턴에서 점수를 a점이나 b점 올리는 대신 두 배로 바꾸는 것도 가능하다. 예를 들면 a가 3이고 b가 2이며 현재 점수가 10이라고 할 때, 다음 턴의 점수로 가능한 것에는 12, 13, 또는 20이 있다. 하지만 만약 학생이 n+a점 이상의 점수로 게임을 끝내게 되거나, 각 턴이 끝났을 때 점수를 두 배로 올린 턴이 전체 턴의 10%를 초과하면 학생은 게임 운영진의 의심을 받게 되고, 게임에서 퇴출당하게 된다.

이 학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소한의 턴을 구하라.

입력

n, a, b 세 개의 정수가 띄어쓰기를 사이에 두고 주어진다. (1 ≤ n ≤ 500, 1 ≤ ba ≤ 100)

출력

이 학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소한의 턴을 출력한다.

예제 입력 1

10 4 3

예제 출력 1

3

예제 입력 2

50 3 2

예제 출력 2

10

힌트

첫 번째 예제의 경우 매 턴마다 4점씩 점수를 올리면 세 턴 만에 10점을 넘기는 것이 가능하다.

두 번째 예제의 경우 일곱 번의 턴 동안 3점씩 올리고, 두 번의 턴 동안 2점씩 올리고, 마지막 턴에서 점수를 두 배로 올리면 10번의 턴 만에 50점에 도달할 수 있다.

단 예제에서 제시된 방법이 최소 횟수를 얻을 수 있는 유일한 방법은 아니다.

출처

University > POSTECH > 2019 PPC A번