Heroes of Might and Magic
시간 제한1초메모리 제한128 MB
마법사 영웅이 번개, 순간이동, 치유 주문으로 몬스터 무리를 물리칠 수 있는지 판정하고, 승리할 때 필요한 최소 주문 횟수를 구한다.
문제
유명한 게임 "Heroes of Might and Magic"의 새 버전에서는 영웅이 전투에 직접 참여한다. 강력한 마법사 영웅은 지원 부대 없이 혼자서 몬스터 무리를 물리칠 수도 있다. 이 문제에서는 마법사 영웅이 몬스터 무리와 일대일로 싸워 승리할 수 있는지 판정한다.
영웅은 처음에 체력 와 마나 를 가지며 세 가지 주문을 알고 있다. 각 주문은 마나 을 소모한다.
- 번개 화살(Lightning Bolt): 무리가 서 있는 칸 번호를 라 할 때, 무리의 체력을 만큼 감소시킨다.
- 순간이동(Teleport): 무리를 번부터 번까지의 임의의 칸으로 옮긴다(영웅이 있는 번 칸으로는 옮길 수 없다).
- 치유(Heal): 영웅의 체력을 만큼 회복한다. 체력은 를 넘을 수 없으며, 초과분은 버려진다.
몬스터 한 마리의 체력은 이고, 무리는 하나의 집단으로 함께 행동한다. 무리의 현재 체력이 이면 무리는 마리로 이루어진다(천장 함수는 인수보다 작지 않은 가장 작은 정수를 뜻한다). 무리는 처음에 마리, 즉 체력 으로 시작하며, 무리의 체력은 오직 감소하기만 한다. 무리의 체력이 이하가 되면 무리는 전멸한다.
전투는 번부터 번까지 번호가 매겨진 개의 칸으로 이루어진 일차원 전장에서 벌어진다. 영웅은 번 칸에 서 있으며 움직이지 않는다. 무리는 처음에 번 칸에 있다.
전투는 영웅과 무리가 번갈아 진행한다. 먼저 영웅이, 그다음 무리가 행동하며 이를 반복한다.
- 영웅의 턴: 영웅은 반드시 주문 하나를 시전한다(마나 소모). 영웅의 턴이 시작될 때 마나가 이고 몬스터가 한 마리라도 남아 있으면 영웅은 패배한다.
- 무리의 턴: 무리는 현재 칸 에서 영웅 쪽으로 칸 이동한다. 즉 번 칸으로 이동하며, 번 칸으로는 절대 들어가지 않는다. 이동을 마친 칸이 번이면 무리는 영웅을 공격하여, 무리에 남은 몬스터 수 만큼 영웅의 체력을 감소시킨다. 영웅의 체력이 이하가 되면 영웅은 패배한다.
영웅의 턴에 번개 화살로 무리의 체력이 이하가 되면 영웅은 즉시 승리하며, 무리는 행동하지 않는다.
영웅이 무리를 물리칠 수 있는지 판정하라.
입력
첫째 줄에 일곱 개의 양의 정수 , , , , , , 가 공백으로 구분되어 이 순서대로 주어진다(, , , , , , ).
둘째 줄에 개의 정수 이 공백으로 구분되어 주어진다(). 여기서 는 무리가 번 칸에 있을 때 번개 화살이 입히는 피해량이다.
출력
영웅이 전투에서 승리할 수 없으면 DEFEATED를 출력한다.
승리할 수 있으면 첫째 줄에 VICTORIOUS를 출력하고, 둘째 줄에 무리의 체력을 이하로 만드는 데 필요한 최소 턴 수(즉, 영웅이 시전해야 하는 최소 주문 횟수)를 정수 하나로 출력한다.