만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

신호 1

면접 대비

시간 제한1.5초메모리 제한128 MB

요약
서로 다른 x좌표를 가진 점들을 골라 x가 증가하는 순서로 이은 꺾은선의 유클리드 길이 합이 최대가 되도록 할 때 그 최댓값을 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 정렬, 기하, 수학
정답자
아직 제출이 없습니다

문제

좌표평면에 신호 NN개가 있다. ii번째 신호의 위치는 (xi,yi)(x_i, y_i)이고, 같은 자리에 놓인 신호는 없다.

통신 시스템은 신호 몇 개를 골라 xx좌표가 커지는 순서로 차례차례 선분으로 이은 것이다. 고른 신호의 xx좌표는 서로 모두 달라야 한다. 시스템의 길이는 이웃한 두 신호 사이의 유클리드 거리를 모두 더한 값이고, 신호를 하나만 고른 시스템의 길이는 0이다.

신호가 멀리까지 퍼지도록 길이가 가장 긴 통신 시스템을 만들려고 한다. 그 길이를 구하여라.

입력

첫째 줄에 신호의 개수 NN이 주어진다. (1≤N≤10001 \le N \le 1000)

둘째 줄부터 NN개의 줄에 각 신호의 좌표 xix_i와 yiy_i가 공백을 사이에 두고 주어진다. (−104≤xi,yi≤104-10^4 \le x_i, y_i \le 10^4, xix_i와 yiy_i는 정수)

같은 좌표가 두 번 주어지는 경우는 없다.

출력

가장 긴 통신 시스템의 길이를 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다. 소수점 아래는 0으로 채워 항상 여섯 자리를 적는다.

예제2

  1. 예제 1

    입력
    6
    1 1
    5 3
    3 3
    3 1
    1 3
    5 1
    
    예상 출력
    5.656854
    
  2. 예제 2

    입력
    3
    7 -5
    7 0
    7 9999
    
    예상 출력
    0.000000