아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

고양이와 쥐

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

요약
고양이가 정해진 시간 안에 모든 쥐를 잡아먹을 수 있도록 하는 최소 초기 속도 v를 구한다. 한 마리를 먹을 때마다 속도에 m이 곱해진다.
난이도

어려움10점 중 8점

유형
이분 탐색, 동적 계획법, 비트 연산, 기하
정답자
아직 제출이 없습니다

문제

고양이는 좌표평면 위에 살고, 집은 (0,0)(0, 0)에 있다. 이 자리에 사는 쥐는 없다.

시각 t=0t = 0에 쥐 nn마리가 서로 다른 지점에서 땅 위로 머리를 내밀고, 고양이는 쥐를 모두 본다. ii번 쥐는 자기 지점에 시각 sis_i까지 머물다가 땅속으로 숨고, 그 뒤에는 고양이가 잡을 수 없다.

고양이는 쥐를 모두 먹으려 한다. 시각 t=0t = 0에 초기 속력 vv로 (0,0)(0, 0)을 출발해 쥐 한 마리를 향해 직선으로 달리고, 도착하는 즉시 그 쥐를 먹은 다음 다시 다른 쥐를 향해 직선으로 달린다. 먹는 데 드는 시간은 0이며, 남은 쥐가 없을 때까지 이 과정을 반복한다.

한 마리를 먹을 때마다 속력에 상수 mm이 곱해진다. 즉 kk마리를 먹은 뒤의 속력은 vmkv m^k이다.

고양이가 ii번 쥐를 먹으려면 시각 sis_i 이전에 그 지점에 도착해야 한다. 정확히 sis_i에 도착해도 먹는다.

고양이는 가장 유리한 순서를 고른다. 모든 쥐를 먹는 순서가 존재하는 가장 작은 초기 속력 vv를 구하라.

입력

첫째 줄에 쥐의 수 nn (1≤n≤151 \le n \le 15)이 주어진다.

다음 nn개 줄에는 각각 정수 xx, yy, ss (−1000≤x,y≤1000-1000 \le x, y \le 1000, 1≤s≤100001 \le s \le 10000)가 주어진다. 쥐 한 마리가 (x,y)(x, y)에 있고 시각 t=st = s에 땅속으로 숨는다는 뜻이다. 같은 지점에 있는 두 쥐는 없고, (0,0)(0, 0)에 있는 쥐도 없다.

마지막 줄에는 소수점 아래 한 자리 또는 두 자리인 소수 mm (0.75≤m≤0.990.75 \le m \le 0.99)이 주어진다. .75처럼 앞의 0을 생략한 형태로 주어지기도 한다.

출력

모든 쥐를 먹을 수 있는 최소 초기 속력을 초당 거리 단위로 출력한다. 소수점 아래 여섯 자리까지 반올림해 정확히 여섯 자리를 출력한다.

예제3

  1. 예제 1

    입력
    1
    3 4 2
    .75
    
    예상 출력
    2.500000
    
  2. 예제 2

    입력
    2
    0 100 10
    0 -100 100
    .80
    
    예상 출력
    10.000000
    
  3. 예제 3

    입력
    2
    0 100 10
    0 -100 15
    .80
    
    예상 출력
    23.333333