환상적인 공장 견학

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

요약
연속 구간을 고른 뒤 상대가 왼쪽, 구간, 오른쪽 중 가장 큰 부분을 가져갈 때 남는 트랜지스터 수를 최대화합니다.
난이도

보통10점 중 6점

유형
누적 합, 투 포인터
정답자
아직 제출이 없습니다

문제

전자제품 공장 주인이 제품 일곱 대 안에 황금 트랜지스터를 하나씩 숨겼다. 그 제품을 산 사람은 공장 견학에 초대받는다.

아르나르와 솔베이그는 동네 전자제품 가게의 제품 가운데 정확히 한 대에 황금 트랜지스터가 들어 있다는 소식을 들었다. 둘은 돈을 모아 가게의 제품을 전부 사고, 일렬로 늘어놓은 뒤 00번부터 N−1N-1번까지 번호를 붙였다. 제품마다 트랜지스터가 몇 개씩 들어 있다. 그리고 황금 트랜지스터를 누가 가질지 정하는 규칙에 합의했다.

먼저 아르나르가 구간 [a,b][a, b]를 고른다. 양 끝을 포함하며 0≤a≤b<N0 \le a \le b < N이다. 그다음 솔베이그가 가져갈 제품 묶음을 하나 고른다.

  • a>0a > 0이면 구간 [0,a−1][0, a-1]의 제품을 모두 가져갈 수 있다.
  • b<N−1b < N-1이면 구간 [b+1,N−1][b+1, N-1]의 제품을 모두 가져갈 수 있다.
  • 구간 [a,b][a, b]의 제품을 모두 가져가는 선택은 언제나 할 수 있다.

솔베이그가 묶음을 하나 고르면, 아르나르는 솔베이그가 가져가지 않은 제품을 모두 가진다.

예를 들어 제품이 세 대이고 아르나르가 [1,1][1, 1]을 골랐다면 솔베이그는 [0,0][0, 0], [1,1][1, 1], [2,2][2, 2] 중 하나를 고른다. 아르나르가 [1,2][1, 2]를 골랐다면 솔베이그는 [0,0][0, 0]과 [1,2][1, 2] 중 하나를 고른다.

황금 트랜지스터가 전체 트랜지스터 가운데 어느 하나일 확률은 모두 같다. 따라서 견학에 갈 확률은 자기가 가진 트랜지스터 수를 전체 트랜지스터 수로 나눈 값이다. 두 사람 모두 자기 확률이 가장 커지도록 고른다. 아르나르가 견학에 갈 확률을 구하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에 각각 다섯 정수 NN, pp, qq, rr, ss가 주어진다. 제품은 NN대이고, ii번 제품에는 트랜지스터가 ((i×p+q) mod r)+s((i \times p + q) \bmod r) + s개 들어 있다. 제품 번호는 00부터 N−1N-1까지다.

제한:

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤1061 \le N \le 10^6
  • 1≤p,q,r,s≤1061 \le p, q, r, s \le 10^6
  • 모든 테스트 케이스의 NN의 합은 2×1062 \times 10^6 이하이다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 아르나르가 견학에 갈 확률이다. yy는 소수점 아래 11번째 자리에서 반올림해 소수점 아래 10자리까지 출력한다.

예제2

  1. 예제 1

    입력
    8
    1 1 1 1 1
    10 17 1 7 1
    2 100 100 200 1
    20 17 3 23 100
    10 999999 999999 1000000 1000000
    2 1 1 1 1
    3 1 99 100 1
    999999 1000000 999999 1000000 1000000
    
    예상 출력
    Case #1: 0.0000000000
    Case #2: 0.6111111111
    Case #3: 0.0098039216
    Case #4: 0.6471920290
    Case #5: 0.6000006000
    Case #6: 0.5000000000
    Case #7: 0.0291262136
    Case #8: 0.6666666667
    
  2. 예제 2

    입력
    3
    1 1000000 1000000 1000000 1000000
    2 1 1 1 1000000
    3 1 1 1 5
    
    예상 출력
    Case #1: 0.0000000000
    Case #2: 0.5000000000
    Case #3: 0.6666666667