점수 해킹
시간 제한1초메모리 제한256 MB
0점에서 시작해 매 턴 a점 또는 b점을 더하거나 점수를 두 배로 만들 수 있고, 최종 점수가 n+a 미만이면서 두 배 사용 횟수가 전체 턴의 10% 이하여야 한다. 최소 턴 수를 구한다.
문제
0점에서 시작해 매 턴 점수를 획득하는 게임이 있다. 각 턴에서 플레이어가 이기면 a점을 얻고, 지면 b점을 얻는다. 점수의 총합이 n점 이상이면 게임이 끝난다.
포스텍의 한 학생이 이 게임을 해킹했다. 그래서 각 턴에서 이길지 질지 마음대로 정할 수 있다. 심지어 원하는 턴에서 a점이나 b점을 더하는 대신 점수를 두 배로 만드는 것도 가능하다. 예를 들어 a가 3, b가 2이고 현재 점수가 10일 때, 다음 턴이 끝난 뒤 가능한 점수는 12, 13, 20이다. 하지만 학생이 n+a점 이상의 점수로 게임을 끝내거나, 각 턴이 끝났을 때 점수를 두 배로 올린 턴이 전체 턴의 10%를 초과하면 학생은 게임 운영진의 의심을 받아 게임에서 퇴출된다.
이 학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소 턴 수를 구하라.
입력
n, a, b 세 정수가 띄어쓰기를 사이에 두고 주어진다. (1 ≤ n ≤ 500, 1 ≤ b ≤ a ≤ 100)
출력
학생이 운영진의 의심을 받지 않고 게임을 끝내는 데 필요한 최소 턴 수를 출력한다.
힌트
첫 번째 예제에서는 매 턴 4점씩 올리면 세 턴 만에 10점을 넘길 수 있다.
두 번째 예제에서는 일곱 턴 동안 3점씩, 두 턴 동안 2점씩 올린 뒤 마지막 턴에서 점수를 두 배로 만들면 10턴 만에 50점에 도달한다.
예제에 제시된 방법이 최소 턴 수를 얻는 유일한 방법은 아니다.