시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB12939918.367%

문제

성현이는 나코더의 최약체다. 얼마나 약하냐면, 바람이 조금만 불어도 쓰러질 수 있고, 심지어 양치질을 하기 위해서는 칫솔의 솔을 몇 개 빼고 해야 할 정도이다. 이렇게 성현이는 매우 약하기 때문에 자신을 보호하기 위한 성벽을 지으려고 한다. (이렇게 약한 사람이 어떻게 성벽을 짓는지는 묻지 말자.)

성현이가 성벽을 짓기 전에 이미 원기둥 형태의 탑이 여러 개 지어져 있었다. 성현이는 탑을 좋아해서 이 탑들을 모두 포함하도록 성벽을 짓고 싶어 한다. 또한, 성현이는 매우 약하기 때문에 만들 때 최소한의 힘만 들도록, 성벽의 둘레가 최소가 되게 설계하고자 한다.

성현이가 성벽을 짓기 위해서는 성벽 건축에 필요한 재료를 정확하게 준비해야 하며, 그러기 위해서는 성벽의 둘레를 미리 알아야만 한다. 하지만 성현이는 너무 약해서 연필을 들 힘도, 키보드를 칠 힘도 없다. 여러분이 성현이를 대신하여 탑들의 위치와 반지름의 길이가 주어졌을 때 성벽 둘레의 최솟값을 구해 보자!

입력

첫 번째 줄에 탑의 개수 $N$이 주어진다.

이후 $N$개의 줄에는 각 탑의 정보를 나타내는 세 정수 $x_i$, $y_i$, $r_i$가 주어진다. 이는 각각 $i$번째 탑의 $x$좌표, $y$좌표, 그리고 반지름의 길이를 나타낸다.

출력

모든 탑을 포함하는 성벽의 둘레의 최소 길이를 출력한다. 정답과의 오차는 상대 오차 또는 절대 오차 $10^{-6}$까지 허용한다.

제한

  • $1 \leq N \leq 50,000$
  • $-2,000,000,000 \leq x_i$, $y_i \leq 2,000,000,000$ $(1 \leq i \leq N)$
  • $1 \leq r_i \leq 100,000$ $(1 \leq i \leq N)$

서브태스크

번호배점제한
11

$N = 2$

21

$r_i = r_{i+1}$ $(1 \leq i \leq N-1)$

38

$1 \leq N \leq 100$

490

추가 제한 조건이 없다.

예제 입력 1

2
2 4 1
6 4 2

예제 출력 1

17.6761051635

예제 입력 2

4
2 2 1
2 4 1
4 2 1
4 4 1

예제 출력 2

14.2831853072

예제 입력 3

4
3 3 2
5 1 1
7 4 3
3 7 1

예제 출력 3

26.8135757442

출처

High School > 경기과학고등학교 > 2023 IamCoder Qualification Test G번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.