만드는 중입니다

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

gCube (Small)

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

요약
질의로 주어진 구간마다 기하평균을 구해 소수점 이하 아홉 자리까지 출력합니다.
난이도

보통10점 중 4점

유형
수학
정답자
아직 제출이 없습니다

문제

DD차원 정육면체는 길이가 모두 같은 DD개의 차원으로 이루어진다. DD는 아무 양의 정수나 될 수 있어서, 1차원 정육면체는 선분이고 2차원 정육면체는 정사각형이며 4차원 정육면체는 초입방체다. DD차원 직육면체도 차원이 DD개지만 각 차원의 길이는 서로 다를 수 있다.

NN차원 직육면체가 주어진다. 차원에는 순서대로 0,1,2,…,N−10, 1, 2, \ldots, N-1번이 붙어 있고, ii번 차원의 길이는 aia_i다. 다음 형태의 질의를 MM개 처리하자.

  1. LiL_i번 차원부터 RiR_i번 차원까지 연속한 차원을 모두 고른다.
  2. 고른 차원으로 DD차원 직육면체를 만든다. 이때 D=Ri−Li+1D = R_i - L_i + 1이다. 예를 들어 Li=3L_i = 3이고 Ri=6R_i = 6이면 3, 4, 5, 6번 차원으로 4차원 직육면체를 만든다.
  3. 이 직육면체를 부피가 정확히 같은 DD차원 정육면체로 바꾸고, 그 정육면체의 한 변 길이를 구한다.

한 테스트 케이스의 질의는 모두 같은 NN차원 직육면체를 사용한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄에는 차원의 개수 NN과 질의의 개수 MM이 주어진다. 둘째 줄에는 차원의 길이 a0,a1,…,aN−1a_0, a_1, \ldots, a_{N-1}이 순서대로 주어진다. 이어지는 MM개의 줄에는 ii번째 질의가 사용할 차원의 범위 LiL_i와 RiR_i가 주어진다.

출력

각 테스트 케이스마다 먼저 "Case #x:"를 한 줄에 출력한다. x는 1부터 시작하는 테스트 케이스 번호다. 그다음 MM개의 줄에 걸쳐 ii번째 줄에 ii번째 질의의 한 변 길이를 출력한다.

질의의 답은 D=Ri−Li+1D = R_i - L_i + 1일 때 (∏j=LiRiaj)1/D\left(\prod_{j=L_i}^{R_i} a_j\right)^{1/D}이다. 정확한 값을 소수점 아래 아홉째 자리에서 반올림해 소수점 아래 아홉 자리까지 출력한다. 이 거듭제곱근은 대개 무리수이고 곱은 109010^{90}까지 커지므로, 아홉째 자리 숫자가 맞을 만큼 정밀하게 계산해야 한다. 소수점 앞에는 숫자를 적어도 한 개 출력하고, 양수 부호는 출력하지 않는다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤101 \le N \le 10
  • 1≤M≤101 \le M \le 10
  • 1≤ai≤1091 \le a_i \le 10^9
  • 0≤Li≤Ri<N0 \le L_i \le R_i < N

예제4

  1. 예제 1

    입력
    2
    2 2
    1 4
    0 0
    0 1
    3 2
    1 2 3
    0 1
    1 2
    
    예상 출력
    Case #1:
    1.000000000
    2.000000000
    Case #2:
    1.414213562
    2.449489743
    
  2. 예제 2

    입력
    1
    1 1
    1
    0 0
    
    예상 출력
    Case #1:
    1.000000000
    
  3. 예제 3

    입력
    2
    3 3
    8 8 8
    0 2
    0 1
    2 2
    3 4
    2 4 8
    0 2
    0 0
    1 2
    0 1
    
    예상 출력
    Case #1:
    8.000000000
    8.000000000
    8.000000000
    Case #2:
    4.000000000
    2.000000000
    5.656854249
    2.828427125
    
  4. 예제 4

    입력
    2
    5 5
    2 3 5 7 11
    0 4
    0 1
    1 3
    2 4
    3 4
    4 6
    9 9 9 9
    0 3
    0 1
    1 2
    2 3
    0 2
    2 2
    
    예상 출력
    Case #1:
    4.706763706
    2.449489743
    4.717693980
    7.274786349
    8.774964387
    Case #2:
    9.000000000
    9.000000000
    9.000000000
    9.000000000
    9.000000000
    9.000000000