배럭

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

요약
마린 N명, 체력 B인 병영, 매턴 U명씩 생산되는 적 마린이 주어질 때 병영과 모든 적 마린을 없애는 최소 턴 수를 구하는 문제입니다.
난이도

보통10점 중 6점

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

문제

준겸이는 턴 방식 전략 게임을 하고 있다. 목표는 상대의 배럭을 파괴하고 상대 마린을 모두 제거하는 것이다.

처음에 준겸이는 마린 N마리를 가지고 있고, 상대는 마린이 없다. 상대 배럭의 체력은 B이며, 배럭이 파괴되지 않은 동안 매 턴 끝에 마린 U마리를 생산한다.

각 턴은 다음 순서로 진행된다.

  1. 준겸이의 살아 있는 각 마린은 상대 마린 하나를 공격해 제거하거나, 배럭을 공격해 체력을 1 낮춘다. 마린마다 선택은 달라도 된다. 배럭의 체력이 0 이하가 되면 즉시 파괴된다.
  2. 제거되지 않고 남은 상대 마린이 준겸이의 마린을 공격한다. 상대 마린이 K마리 남아 있으면 준겸이의 마린 K마리가 제거된다.
  3. 배럭이 아직 파괴되지 않았다면 상대 마린 U마리가 새로 생산된다.

준겸이가 배럭을 파괴하고 상대 마린을 모두 제거하는 데 필요한 최소 턴 수를 구하라.

입력

첫째 줄에 세 정수 N, B, U가 주어진다.

출력

상대의 배럭을 파괴하고 상대 마린을 모두 제거할 수 있다면 필요한 최소 턴 수를 출력한다. 불가능하다면 -1을 출력한다.

제한

  • 1 <= N, B, U <= 5,000

예제4

  1. 예제 1

    입력
    10 11 15
    
    예상 출력
    4
    
  2. 예제 2

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

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

    입력
    25 200 10
    
    예상 출력
    13