해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
머나먼 저편에 이를 때까지 무수한 점들을 선으로 이어 보자.
좌표평면 위에 n개의 점이 있으며, 그중 i-th의 좌표는 (i, yi)이다.
서로 평행하고 겹치지 않는 두 직선을 그어, 집합의 모든 점이 정확히 둘 중 하나의 직선 위에 놓이고 각 직선이 집합의 점을 적어도 하나 지나도록 할 수 있는지 판별한다.
입력의 첫째 줄에는 점의 개수를 나타내는 양의 정수 n (3 ≤ n ≤ 1 000)이 주어진다.
둘째 줄에는 각 점의 수직 좌표를 나타내는, 공백으로 구분된 n개의 정수 y1, y2, ..., yn ( - 109 ≤ yi ≤ 109)이 주어진다.
요구 조건을 충족할 수 있다면 "Yes"을, 그렇지 않다면 "No"을 출력한다. 따옴표는 출력하지 않는다.
각 문자는 대문자나 소문자 중 어느 것으로 출력해도 된다.
5
7 5 8 6 9
Yes
5
-1 -2 0 0 -5
No
5
1000000000 0 0 0 0
Yes
첫 번째 예제에는 (1, 7), (2, 5), (3, 8), (4, 6), (5, 9)의 다섯 점이 있다. 점 1, 3, 5를 지나는 직선 하나와 점 2, 4를 지나면서 첫 번째 직선과 평행한 또 다른 직선 하나를 그을 수 있다.
두 번째 예제에서는 모든 점을 덮는 두 직선을 그을 수는 있지만, 이들을 평행하게 만들 수는 없다.
세 번째 예제에서는 두 요구 조건을 동시에 만족시키는 것이 불가능하다.