gCube (Large)
시간 제한5초메모리 제한512 MB
여러 구간 질의마다 배열 값들의 기하평균을 구해 소수점 아홉째 자리까지 출력합니다.
문제
차원 정육면체는 길이가 모두 같은 개의 차원으로 이루어진다. 는 임의의 양의 정수여도 되므로, 1차원 정육면체는 선분이고 2차원 정육면체는 정사각형이며 4차원 정육면체는 초입방체다. 차원 직육면체도 차원이 개지만, 각 차원의 길이는 서로 달라도 된다.
차원 직육면체가 하나 주어진다. 차원에는 순서대로 의 번호가 붙고, 번 차원의 길이는 다. 다음 형태의 부분 문제 개를 풀어라.
- 번 차원부터 번 차원까지 연속한 차원을 모두 고른다.
- 고른 차원으로 차원 직육면체를 만든다. 예를 들어 이고 이면 3번, 4번, 5번, 6번 차원으로 4차원 직육면체를 만든다.
- 이 직육면체와 부피가 정확히 같은 차원 정육면체로 다시 만들고, 그 정육면체의 한 변의 길이를 구한다.
한 테스트 케이스에 들어 있는 부분 문제 개는 모두 같은 차원 직육면체를 쓴다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 이어서 테스트 케이스가 개 주어진다.
각 테스트 케이스의 첫 줄에는 차원의 수 과 질의의 수 이 주어진다. 다음 줄에는 차원의 길이 이 순서대로 주어진다. 이어지는 개의 줄 중 번째 줄에는 번째 부분 문제가 쓸 차원의 범위 와 가 주어진다.
출력
각 테스트 케이스마다 먼저 Case #x: 형식으로 한 줄을 출력한다. 는 1부터 시작하는 테스트 케이스 번호다. 그다음 개의 줄을 출력하고, 그중 번째 줄에 번째 부분 문제의 한 변의 길이를 소수점 아래 정확히 아홉 자리로 출력한다. 소수점 아래 열째 자리에서 반올림한다.
한 변의 길이는 의 제곱근이다. 이 값은 대개 무리수이고 크기가 까지 커지므로, 배정밀도 부동소수점만으로는 아홉 자리를 맞출 수 없다.