Cow Steeplechase II

시간 제한2초메모리 제한512 MB

요약
좌표가 10^9까지인 선분 N개가 주어지며, 한 선분만 제거하면 남은 선분들이 서로 만나지 않게 된다. 제거할 수 있는 가장 앞선 번호를 출력한다.
난이도

어려움10점 중 8점

유형
기하, 정렬, 이분 탐색, 구현
정답자
아직 제출이 없습니다

문제

In the past, Farmer John had contemplated a number of innovative ideas for new cow sports, among them Cow Steeplechase, where herds of cows would race around a course and jump over hurdles. His past efforts to build interest in this sport have met with mixed results, so he is hoping to build an even larger Cow Steeplechase course on his farm to try and create more publicity for the sport.

Farmer John's new course is carefully planned around NN hurdles, conveniently numbered 1…N1 \ldots N (2≤N≤105(2 \leq N \leq 10^5), each one described as a line segment on the 2D map of the course. These line segments should not intersect each-other in any way, even their at endpoints.

Unfortunately, Farmer John wasn't paying attention when crafting the course map and notices that there are intersections between segments. However, he also notices that if he takes away just one segment, the map is restored to its intended state of having no intersecting segments (not even at endpoints).

Please determine a line segment Farmer John can remove from his plan to restore the property that no segments intersect. If multiple segments are possible to remove in this way, please output the index of the earliest one in the input.

입력

The first line of input contains NN. Each of the NN remaining lines describe one line segment with four integers x_1x\_1 y_1y\_1 x_2x\_2 y_2y\_2, all integers have absolute value at most 10910^9. The line segment has (x_1,y_1)(x\_1, y\_1) and (x_2,y_2)(x\_2, y\_2) as its endpoints. All endpoints are distinct from each-other.

출력

Output the earliest index within the input of a segment such that removing that segment causes the remaining segments not to intersect.

힌트

You may want to be careful of integer overflow in this problem, due to the size of the integers provided as coordinates of segment endpoints.

예제1

  1. 예제 1

    입력
    4
    2 1 6 1
    4 0 1 5
    5 6 5 5
    2 7 1 3
    
    예상 출력
    2