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

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

세단뛰기

면접 대비

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

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

쉬움10점 중 2점

유형
구현, 배열
정답자
아직 제출이 없습니다

문제

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

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

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

입력

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

각 데이터 집합의 첫 줄에는 밟은 걸음 수 nn이 주어진다 (1≤n≤10001 \le n \le 1000). 다음 줄에는 실수 nn개 x1,x2,…,xnx_1, x_2, \dots, x_n이 주어진다 (0.0≤xi≤100.00.0 \le x_i \le 100.0). xix_i는 ii번째 걸음에서 트랙이나 모래밭에 닿은 위치다.

출력

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

예제1

  1. 예제 1

    입력
    4
    11
    0.0 20.5 15.7 28.3 30.1 39.7 42 48.2 50.7 46.561 52
    8
    1.5 19.2 28.3 30.01 38.5 45.1 51.2 60.9
    6
    10.7 28.3 30.3 38.1 45.2 53.87
    7
    15.0 30.1 38.2 45.6 56.3 40.8 27.2
    
    예상 출력
    Data Set 1:
    16.56
    
    Data Set 2:
    21.20
    
    Data Set 3:
    0.00
    
    Data Set 4:
    -2.80