세단뛰기

위치가 [30.0, 30.2]에 들어오는 첫 번째 걸음을 찾고, 그로부터 최소 3걸음 뒤 위치 중 가장 작은 값을 30.0에서 뺀 거리를 구한다. 해당하는 걸음이 없으면 0을 출력한다.

쉬움2구현배열면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

세단뛰기는 도움닫기를 한 다음 연달아 세 번 뛰는 종목이다. 기록은 첫 번째 도약을 시작한 지점부터 세 번째 도약이 끝난 지점까지의 거리다. 멀리뛰기와 마찬가지로 첫 도약은 정해진 구름판 위에서 시작해야 한다. 착지한 뒤에 뒤로 넘어지면 모래에 남은 자국 가운데 가장 가까운 지점까지만 기록으로 인정한다. 발로 착지했더라도 뒤로 엉덩방아를 찧었다면 엉덩이가 닿은 지점까지가 기록이다.

이 문제에서는 몸의 일부가 바닥에 닿은 위치가 순서대로 주어진다. 구름판은 30.0부터 30.2까지이고 양 끝을 포함한다. 뒤로 돌거나 뒤로 넘어질 수 있으므로 위치는 커질 수도 있고 작아질 수도 있다.

세단뛰기는 몸의 일부가 처음으로 구간 [30.0,30.2][30.0, 30.2] 안에 닿은 걸음에서 시작한다. 기록은 실제로 닿은 위치가 아니라 30.0에서부터 재며, 시작한 걸음보다 3걸음 이상 뒤인 걸음 가운데 위치가 가장 작은 값까지의 거리다. 이 거리는 음수일 수 있다. 구간에 한 번도 닿지 않았거나 닿은 뒤로 3걸음을 더 밟지 않았다면 기록은 0이다.

입력

첫 줄에 데이터 집합의 개수 KK가 주어진다. 이어서 KK개의 데이터 집합이 다음 형식으로 주어진다.

각 데이터 집합의 첫 줄에는 밟은 걸음 수 nn이 주어진다 (1n10001 \le n \le 1000). 다음 줄에는 실수 nnx1,x2,,xnx_1, x_2, \dots, x_n이 주어진다 (0.0xi100.00.0 \le x_i \le 100.0). xix_iii번째 걸음에서 트랙이나 모래밭에 닿은 위치다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. x는 데이터 집합의 번호이고 1부터 센다. 다음 줄에 세단뛰기 기록을 소수점 아래 둘째 자리로 반올림해 출력한다. 정확히 중간인 값은 0에서 먼 쪽으로 반올림하고, 반올림한 결과가 0이면 부호 없이 0.00을 출력한다. 각 데이터 집합 뒤에 빈 줄을 하나 출력한다.