경적 울리기
시간 제한2초메모리 제한256 MB
이산 분포를 따르는 N대 차량의 출발 지연 합이 T초 이하일 확률을 계산합니다.
문제
신호가 초록불로 바뀐 순간부터 뒤차가 경적을 울리기까지의 시간이 가장 짧은 시간이라는 말이 있다. Yraglac은 그보다 참을성이 있어서, 앞차가 적당한 시간을 넘겨서도 출발하지 않을 때만 경적을 울린다.
문제는 그의 경적이 세 번만 더 울리면 수명을 다한다는 것이다. 새 경적을 사기는 아까우니 기다리는 동안 다른 일로 시간을 보내기로 했다. 신호가 바뀐 뒤 초 안에 자신이 출발할 확률을 계산하는 것이다.
Yraglac 앞에는 차량 대가 서 있다. 각 차량은 바로 앞 차량이 출발한 순간부터 정수 초가 지난 뒤에 출발하고, 그 초는 차량마다 주어진 확률분포를 따른다. 맨 앞 차량은 신호가 초록불로 바뀐 순간부터 시간을 센다. Yraglac은 바로 앞 차량이 출발하는 순간에 함께 출발한다.
앞에 선 차량의 확률분포가 모두 주어질 때, 신호가 초록불로 바뀐 뒤 초 이내에 Yraglac이 출발할 확률을 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어진다.
각 테스트 케이스의 첫 줄에는 Yraglac 앞에 서 있는 차량의 수 이 주어진다. ()
이어지는 개의 줄에는 차량 한 대의 확률분포가 형식으로 한 줄에 하나씩 주어진다. () 는 이 차량이 바로 앞 차량보다 초 뒤에 출발할 확률이며, 이고 이다. 확률은 .5처럼 정수부를 생략한 형태로 주어지기도 한다.
그다음 줄에는 정수 가 주어진다. ()
입력의 마지막 줄에는 0이 하나 주어진다. 모든 테스트 케이스의 을 더한 값은 3000을 넘지 않는다.
출력
각 테스트 케이스마다 신호가 초록불로 바뀐 뒤 초 이내에 Yraglac이 출발할 확률을 소수점 아래 둘째 자리까지 잘라서 한 줄에 출력한다.
반올림이 아니라 버림이므로 0.519는 0.51로 출력한다. 정확한 값이 0.51인 경우에도 0.51을 출력해야 하니 부동소수점 오차에 주의한다.