Logo
(追記) (追記ここまで)

34925번 - 실크의 노래

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB25811510849.770%

문제

Hollow Knight 시리즈의 팬인 은하는 후속작인 Hollow Knight: Silksong이 출시되기까지 1ドル,円 693$일을 기다린 끝에 드디어 이 게임을 플레이할 수 있게 되었다!

이 게임의 주인공인 호넷은 적의 공격을 맞으면 체력이 $\color{red}{2}$ 감소하며, 회복 스킬을 사용하면 실크를 1ドル$ 소모해서 체력을 $\color{limegreen}{3}$ 회복할 수 있다. 그러나 최대 체력을 초과하여 회복하려고 할 경우 최대 체력까지만 회복된다.

은하는 적의 패턴을 파악하기 위해 회복 스킬을 적절히 사용하면서 최대한 오래 버텨 보기로 했다. 전투가 시작될 때 호넷의 체력은 최대 체력 $H$와 같으며, 가진 실크의 양은 $S$이다. 체력이 0ドル$ 이하가 되는 순간까지 호넷이 맞을 수 있는 공격의 최대 횟수를 구하라.

은하는 자신이 원할 때 언제든지 회복 스킬을 사용할 수 있으며, 전투 도중 실크를 추가로 얻는 경우는 없다.

입력

호넷의 최대 체력과 실크의 양을 나타내는 정수 $H,$ $S$가 공백으로 구분되어 주어진다. $(1\leq H,S\leq{10}^{18})$

출력

체력이 0ドル$ 이하가 되는 순간까지 호넷이 맞을 수 있는 공격의 최대 횟수를 출력한다.

제한

예제 입력 1

3 1

예제 출력 1

3

$3ドル\xrightarrow{\color{red}{-2}} 1\xrightarrow{\color{limegreen}{+2}} 3\xrightarrow{\color{red}{-2}} 1\xrightarrow{\color{red}{-2}}\color{red}{-1}$$

회복을 언제 하더라도 3ドル$번의 공격을 맞으면 체력이 0ドル$ 이하가 된다. 체력 1ドル$에서 회복을 했을 때 최대 체력 3ドル$을 넘을 수 없음에 유의하라.

예제 입력 2

8 2

예제 출력 2

7

$8ドル\xrightarrow{\color{red}{-2}} 6\xrightarrow{\color{red}{-2}} 4\xrightarrow{\color{red}{-2}} 2\xrightarrow{\color{limegreen}{+3}} 5\xrightarrow{\color{limegreen}{+3}} 8\xrightarrow{\color{red}{-2}} 6\xrightarrow{\color{red}{-2}} 4\xrightarrow{\color{red}{-2}} 2\xrightarrow{\color{red}{-2}}\color{red}{0}$$

최대 7ドル$번의 공격을 맞을 수 있다. 연속으로 2ドル$번 회복하는 것도 가능하다.

예제 입력 3

1 999999999999

예제 출력 3

1

몇 번 회복하든 상관 없이 1ドル$번 맞으면 죽는다.

힌트

답이 커질 수 있으므로 일부 프로그래밍 언어에서는 64ドル$비트 정수 변수(C/C++: long long, Java: long)를 사용해야 할 수도 있음에 유의하라.

출처

School > 마이폴학교 > 슬기로운 마이폴 생활 E번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /