선분 그리기
시간 제한5초메모리 제한2048 MB
점마다 짝지어진 x축 위 선분까지 서로 엇갈리지 않게 선을 그을 때, 전체 길이의 최솟값을 구하거나 불가능하면 -1을 출력합니다.
문제
점 여러 개가 주어지고, 각 점에는 x축 위의 선분이 하나씩 짝지어 있다. 모든 점은 x축보다 엄격하게 위에 있고, 각 선분은 x축 위에 놓인다. 어떤 두 선분도 공통 점을 갖지 않는다.
각 점과 선분 쌍마다 그 점을 대응하는 선분에 잇는 새 선분을 하나씩 그린다. 짝짓기는 고정되어 있어서, 어떤 점이 어떤 선분에 이어질지는 바꿀 수 없다.
그린 선분 중 어떤 두 개도 엄격하게 교차해서는 안 된다. 두 선분이 한 끝점에서 만나는 것은 허용된다.
그린 모든 선분 길이의 합이 최소가 되는 값을 구하라. 유효하게 그릴 수 없다면 그럴 수 없다고 판단하라.
입력
첫 줄에 정수 ()이 주어진다. 이는 점과 선분 쌍의 개수다.
이어지는 개의 줄마다 정수 , , , (, , )이 주어진다. 이 줄은 좌표 의 점과, 양 끝점이 , 인 선분을 나타낸다.
선분은 왼쪽에서 오른쪽 순서로 주어진다. 어떤 두 선분도 공통 점을 갖지 않는다. 두 점이 같은 위치에 있을 수 있다.
출력
그린 선분 길이의 총합의 최솟값을 실수 하나로 출력한다. 절대 오차 또는 상대 오차가 이하이면 정답으로 인정한다. 엄격한 교차 없이 선분을 그릴 수 없으면 을 출력한다.