문제
집안의 먹을 것들이 계속해서 사라지는 당신은 이웃집의 곰 아즈버(azber)를 의심하고 있다. 오늘, 당신은 드디어 결정적인 증거를 찾아냈는데, 그것은 바로 쵸코바에 찍힌 이빨 자국이었다!
당신은 아즈버가 커다란 두 송곳니로 쵸코바를 물어 여러 번 자국을 남겼으리라 생각하고 있다.
쵸코바를 수직선이라고 가정하자. 아즈버는 다음과 같은 규칙을 따라 쵸코바에 이빨 자국을 남길 수 있다.
- 처음에 쵸코바는 아무 자국 없이 깨끗한 상태이다.
- 아즈버의 송곳니 사이 간격이 $k\ (k \gt 0)$일 때, 아즈버는 $0$ 이상의 수 $x$를 골라 쵸코바의 $x$와 $x + k$ 두 위치에 자국을 남기는 행동을 $0$회 이상 반복할 수 있다.
- 같은 위치에 여러 번 자국을 남기더라도 마지막에 남긴 자국만 보인다.
당신은 쵸코바에 남겨진 이빨 자국들을 토대로, 송곳니 사이의 간격 $k$가 될 수 있는 수치들을 모두 기록해 둔 뒤 나중에 아즈버를 만났을 때 확인해 보려고 한다.
이빨 자국들의 위치가 주어졌을 때, 아즈버의 송곳니 사이 간격이 될 수 있는 수를 모두 출력해 보자!
입력
첫째 줄에 쵸코바에 찍힌 이빨 자국의 개수 $N$이 주어진다. $(2 \le N \le 4\,000)$
둘째 줄에 $N$개의 이빨 자국이 찍힌 위치를 나타내는 정수 $x_i$가 공백을 사이에 두고 오름차순으로 주어진다. $x_i$는 중복되지 않는다. $(0 \le x_i \le 10^9)$
출력
첫째 줄에 아즈버의 송곳니 사이 간격이 될 수 있는 수의 개수 $K$를 출력한다.
$K$가 $1$ 이상일 경우, 둘째 줄에 공백을 사이에 두고 송곳니 사이 간격이 될 수 있는 수를 오름차순으로 출력한다.
예제 입력 1
4 0 5 10 15
예제 출력 1
2 5 10
예제 입력 2
4 0 1 3 5
예제 출력 2
0
예제 입력 3
2 5 28
예제 출력 3
1 23
출처
Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2023. 09. A번
- 문제를 만든 사람: pjshwa
- 문제를 검수한 사람: azberjibiou, chogahui05, heeda0528, kiwiyou, nflight11, rustiebeats, snrnsidy, tony9402, utilforever