구원의 수수께끼
면접 대비시간 제한1초메모리 제한1024 MB
주어진 배열 b를 만들 수 있는 원본 배열 a가 존재하는 이동량 x를 1부터 n-1까지 각각 판별합니다.
문제
수수께끼 제작자가 지방 검사 길 콜슨을 납치한다.
콜슨이 살아남으려면 수수께끼 세 개를 풀어야 한다. 배트맨이 처음 두 개를 돕지만, 세 번째 수수께끼는 너무 어렵다. 이 수수께끼를 풀도록 도와줄 수 있겠는가?
수수께끼는 다음과 같이 만들어진다.
- 수수께끼 제작자가 길이 인 정수 배열 를 적어 숨긴다.
- 그다음 를 왼쪽으로 만큼 원형 이동한 뒤, 원래 배열에서 이동한 배열을 원소별로 뺀다.
- 결과 배열 (즉 모든 에 대해 인 배열)를 수수께끼 제작자가 콜슨에게 알려준다.
배열 가 주어졌을 때, 어떤 배열 로부터 를 만들 수 있었던 모든 가능한 이동량 를 복원하라.
입력
첫 줄에 원래 배열의 길이 이 주어진다 ().
둘째 줄에는 수수께끼 제작자가 알려준 배열 의 원소 이 공백으로 구분되어 주어진다 ().
출력
공백으로 구분된 정수 개를 출력하라. 번째 정수는 가 가능했다면 1, 그렇지 않다면 0이다.
힌트
첫 번째 예제에서 이 배열 는 를 왼쪽으로 1만큼 이동한 결과이거나, 를 왼쪽으로 2만큼 이동한 결과로 나올 수 있었다.
같은 예제에서 이 배열 는 3만큼 이동해서는 어떤 로도 나올 수 없었다. 반면 이동량 1이나 4에는 각각 과 가 가능하다.
세 번째 예제에서는 이 가 설명된 방식으로는 만들어질 수 없었음을 보일 수 있다.