백설공주와 명의 난쟁이
시간 제한2초메모리 제한1024 MB
잠든 드워프가 모두 동시에 자는 순간이 생기도록 순서를 정해 출력하고, 불가능하면 -1을 출력한다.
문제
<<난쟁이들이 아니라 정말 재앙이야!>>, 백설공주는 난쟁이들을 또 한 번 재우려다 그렇게 생각했다. 한 명을 재우면 다른 한 명이 벌써 깨어난다! 밤새도록 그 짓이다.
백설공주에게는 명의 난쟁이가 있고, 모두 성격이 아주 다르다. 그녀는 번째 난쟁이를 재우는 데 분이 걸리고, 그 뒤 난쟁이는 정확히 분 동안 잠든다는 것을 알고 있다. 백설공주가 모든 난쟁이가 잠들어 있는 동안 적어도 1분은 쉴 수 있는지, 쉴 수 있다면 그렇게 만들기 위해 어떤 순서로 난쟁이들을 재워야 하는지 구해 주자.
예를 들어 난쟁이가 둘뿐이고 , , , 이라고 하자. 백설공주가 첫 번째 난쟁이부터 재우기 시작하면, 그다음 두 번째 난쟁이를 재우는 데 무려 10분이 걸리고, 그 사이에 첫 번째 난쟁이가 깨어난다. 반대로 두 번째 난쟁이부터 시작하면 그 뒤 첫 번째 난쟁이를 재울 수 있고, 무려 10분을 쉴 수 있다.
입력
첫째 줄에는 이 주어진다 (). 둘째 줄에는 이, 셋째 줄에는 이 주어진다 ().
출력
난쟁이들을 재워야 하는 순서를 나타내는 개의 수를 출력한다. 백설공주가 쉴 수 없다면 을 출력한다.