회전초밥
시간 제한2초메모리 제한1024 MB
N명의 손님이 가진 초밥 수와 회전하는 N+1명의 요리사가 주어집니다. 모든 손님이 남은 초밥을 K개씩 다 먹는 데 걸리는 시간을 구하고, 끝나지 않으면 -1을 출력합니다.
문제
UCPC시에는 세계에서 가장 유명한 회전초밥집이 있다. 가게 이름은 "뭐든지 회전하는 회전초밥집"이다! 이 회전초밥집은 요리사도 손님도 모두 회전하는 독특한 컨셉으로 SNS에서 큰 인기를 끌었다. UCPC 출제진은 몇 달 전에 이 가게를 예약했고, 오늘 드디어 방문했다.
총 명의 출제진이 회전초밥집을 방문했고, 주방에서는 이에 맞춰 명의 요리사를 대기시켰다. 번째 요리사는 1분마다 개의 초밥을 만들 수 있다. 처음에 웨이터가 출제자들을 일렬로 앉힌 뒤, 번째 자리의 출제자에게 개의 초밥을 나누어주었다. 그리고 1분마다 다음 행동이 순서대로 반복되었다.
- 을 만족하는 모든 에 대하여, 번째 자리의 요리사가 번째 자리의 출제자에게 초밥을 만들어준다. 이때 만들어주는 초밥의 양은 그 요리사가 1분마다 만들 수 있는 양과 같다. 번째 자리의 요리사는 초밥을 만들지 않고 쉰다.
- 요리사들이 한 번 회전한다. 즉, 원래 1번째 자리의 요리사는 2번째로, 원래 2번째 자리의 요리사는 3번째로, ..., 원래 번째 자리의 요리사는 1번째로 이동한다.
- 출제진이 한 번 회전한다. 즉, 원래 1번째 자리의 출제자는 2번째로, 원래 2번째 자리의 출제자는 3번째로, ..., 원래 번째 자리의 출제자는 1번째로 이동한다.
각 출제자는 언제든 자신에게 초밥 한 세트가 모이면 바로 그 세트를 먹는다. 여기서 초밥 한 세트는 종류와 상관없이 초밥 개의 묶음을 뜻한다. 초밥을 먹는 데 걸리는 시간은 무시한다.
출제자들은 음식을 남기는 것을 아주 싫어하기 때문에, 모두가 가진 초밥의 양이 0이 될 때까지 식사를 계속하려고 한다. 식사를 시작한 지 몇 분 후에 식사가 끝나게 될까?
입력
첫 번째 줄에 정수 , 가 공백으로 구분되어 주어진다. (, )
두 번째 줄에 이 공백으로 구분되어 주어진다. ()
세 번째 줄에 이 공백으로 구분되어 주어진다. ()
출력
출제진이 식사를 끝마칠 때까지 걸린 시간을 분 단위로 출력한다. 무한한 시간이 지나도 출제진이 식사를 끝마치지 못한다면 대신 -1을 출력한다.