반려동물 준세
시간 제한1초메모리 제한1024 MB
각 원소를 뒤에 있으면서 자신보다 큰 원소의 개수로 바꾸는 과정을 반복합니다. 배열이 더 이상 변하지 않을 때까지의 횟수를 구하고, 끝나지 않으면 -1을 출력합니다.
문제
준세는 문제를 만드는 중이다. 이미 반려당한 문제가 계속 마음에 걸려, 준세는 그 문제를 다시 들여다보고 있다. 문제는 다음과 같다.
정수 배열 이 주어진다. 각 는 중 보다 큰 원소의 개수로 정의된다. 을 구하여 출력한다.
준세는 위 문제를 올바르게 푸는 프로그램을 작성했다. 그리고 입력과 출력이 모두 같은 개수의 정수로 이루어진 배열이라는 사실을 알게 되었다.
그래서 준세는 주어진 배열 을 이용해 프로그램을 여러 번 실행하며 논다. 준세는 다음 과정을 반복한다. 프로그램에 입력으로 을 넣고 실행해 출력으로 을 얻는다. 모든 에 대해 이면 과정을 멈추고 자러 간다. 그렇지 않다면 모든 에 대해 의 값을 로 고치고 다시 반복한다.
준세는 언제 잠들 수 있을까?
입력
첫 번째 줄에는 배열의 길이 이 주어진다.
두 번째 줄에는 배열을 나타내는 개의 정수 이 공백으로 구분되어 주어진다.
출력
준세가 프로그램을 실행한 횟수를 출력한다.
준세가 과정을 무한히 반복하더라도 잠들 수 없다면 을 출력한다.
제한
, .
힌트
실제로 준세는 이 문제를 10번 정도 반려당했습니다.