아즈버의 이빨 자국
면접 대비시간 제한3초메모리 제한1024 MB
정렬된 이빨 자국 위치가 주어질 때, 모든 자국마다 정확히 k만큼 떨어진 다른 자국이 있는 간격 k를 모두 구합니다.
문제
집 안의 먹을 것이 계속 사라진다. 당신은 이웃집 곰 아즈버(azber)를 의심하고 있다. 오늘 드디어 결정적인 증거를 찾았는데, 바로 쵸코바에 찍힌 이빨 자국이다!
당신은 아즈버가 커다란 두 송곳니로 쵸코바를 물어 여러 번 자국을 남겼다고 생각한다.
쵸코바를 수직선이라고 하자. 아즈버는 다음 규칙에 따라 쵸코바에 이빨 자국을 남길 수 있다.
- 처음에 쵸코바에는 자국이 없다.
- 아즈버의 송곳니 사이 간격이 ()일 때, 아즈버는 이상의 수 를 골라 쵸코바의 와 위치에 자국을 남기는 행동을 회 이상 반복할 수 있다.
- 같은 위치에 여러 번 자국을 남기더라도 마지막에 남긴 자국만 보인다.
당신은 쵸코바에 남은 이빨 자국을 바탕으로 송곳니 사이 간격 가 될 수 있는 수를 모두 적어 두었다가, 나중에 아즈버를 만나면 확인하려고 한다.
이빨 자국의 위치가 주어질 때, 아즈버의 송곳니 사이 간격이 될 수 있는 수를 모두 구해 보자!
입력
첫째 줄에 쵸코바에 찍힌 이빨 자국의 개수 이 주어진다. ()
둘째 줄에 이빨 자국의 위치 이 공백을 사이에 두고 오름차순으로 주어진다. 모든 는 서로 다르다. ()
출력
첫째 줄에 아즈버의 송곳니 사이 간격이 될 수 있는 수의 개수 를 출력한다.
가 이상이면, 둘째 줄에 송곳니 사이 간격이 될 수 있는 수를 공백을 사이에 두고 오름차순으로 출력한다.