신호등
시간 제한2초메모리 제한512 MB
두 일방통행 도로가 만나는 교차로에서 신호 주기 x를 녹색 g와 적색 r로 나눌 때, 교차로에 동시에 서 있는 차의 최대 수를 가장 적게 하는 g와 r을 구합니다.
문제
도시에는 큰 문제가 하나 있습니다. 바로 교통 체증입니다. 같은 도로에 차가 한꺼번에 너무 많이 들어가려 하면 체증이 생깁니다. 체증의 주된 원인은 교차로이며, 가장 큰 체증도 교차로에서 생깁니다.
어느 도시에서 일방통행 도로 두 개가 교차하는 교차로에 신호등을 설치하기로 했습니다.
신호등은 매 순간 첫 번째 도로의 차에 초록불이거나, 두 번째 도로의 차에 초록불이거나, 두 상태 사이를 바꾸는 중입니다. 교통 규칙에 따르면 신호가 바뀌는 순간에는 어느 도로의 차든 지나갈 수 있습니다.
신호등은 다음과 같이 동작합니다. 시각 에 첫 번째 도로는 초록불, 두 번째 도로는 빨간불이 됩니다. 초가 지나면 첫 번째 도로는 빨간불, 두 번째 도로는 초록불로 바뀝니다. 그 뒤 초가 지나면 다시 첫 번째 도로가 초록불이 되고, 이 과정이 반복됩니다.
따라서 첫 번째 도로는 정수 에 대해 시각에 초록불이고, 두 번째 도로는 시각에 초록불입니다. 신호는 와 시각에 바뀝니다. 한쪽 도로가 초록불일 때는 그 도로의 차만 지나갈 수 있습니다. 신호가 바뀌는 순간에는 두 도로의 차가 모두 지나갈 수 있습니다. 차가 지나간 시각과 신호가 바뀐 시각의 차이가 이하이면, 그 차는 신호가 바뀔 때 지나간 것으로 봅니다.
기술 문서에 따라 주기는 로 고정되어 있어야 하며, 즉 여야 합니다. 이 조건만 지키면 과 는 음이 아닌 실수 중 아무 값이나 고를 수 있습니다.
좋은 값을 고르기 위해 두 도로의 교통량을 조사했고, 다음 자료를 얻었습니다.
각 도로에는 교차로를 향해 달리는 차가 여러 대 있습니다. 차는 서로 추월하지 않습니다. 뒤따르던 차가 더 느린 차를 따라잡으면 속도를 줄이고, 그 차와 같은 속도로 뒤를 따릅니다. 차의 크기와 속도를 바꾸는 데 걸리는 시간은 무시합니다. 차가 교차로에 도착했을 때 초록불이거나 신호가 바뀌는 중이면 즉시 통과합니다. 그렇지 않으면 멈춰서 초록불을 기다립니다.
시각 에 첫 번째 도로에는 대의 차가 있습니다. 번째 차는 교차로에서 미터 떨어져 있고, 교차로 쪽으로 m/s의 속도로 움직입니다.
마찬가지로 두 번째 도로에는 대의 차가 있습니다. 번째 차는 교차로에서 미터 떨어져 있고, 교차로 쪽으로 m/s의 속도로 움직입니다.
체증을 줄이려면, 교차로에 동시에 서 있는 차의 최대 대수가 가능한 한 적도록 와 을 골라야 합니다.
교통 관리국이 최적의 와 을 고르도록 도와주세요.
입력
첫 줄에 실수 ()가 주어집니다. 소수점 아래는 최대 세 자리입니다.
둘째 줄에는 첫 번째 도로의 차 수 ()이 주어집니다. 이어서 개의 줄에 각 차의 , ()가 주어집니다. 차가 교차로에서 떨어진 거리와 속도입니다.
다음 줄에는 두 번째 도로의 차 수 (, )이 주어집니다. 이어서 개의 줄에 각 차의 , ()가 주어집니다.
모든 , , , 는 소수점 아래 세 자리 이하입니다. 처음부터 같은 위치에 있는 차는 없습니다. 두 목록 모두 신호등까지의 거리가 가까운 순서로 주어집니다.
출력
첫 줄에는 와 을 어떻게 고르든 교차로에 동시에 대를 넘는 차가 서 있지 않도록 할 수 있는 최소 를 출력합니다.
둘째 줄에는 이 목표를 이루는 와 을 출력합니다. 소수점 아래 자리는 가능한 한 많이 출력합니다. 최적해가 여러 개라면 그중 아무것이나 출력해도 됩니다.
힌트
첫 번째 예제에서는 모든 차가 시각 에 교차로에 도착합니다. 신호를 정확히 그 시각에 바꾸면 모든 차가 기다리지 않고 지나갑니다.
두 번째 예제에서 첫 번째 도로의 상황은 다음과 같이 전개됩니다. 시각 에 세 번째 차가 두 번째 차를 따라잡아 속도를 5 m/s로 줄입니다. 그 다음 두 차가 시각 에 첫 번째 차를 따라잡고, 둘 다 속도를 1 m/s로 줄입니다. 세 차는 함께 달려 출발 2초 뒤에 교차로에 도착합니다.
두 번째 도로의 차들은 같은 속도로 달리며, 출발 1초, 5초, 7초 뒤에 교차로에 도착합니다. 와 을 어떻게 골라도 적어도 한 대는 기다려야 합니다. 가장 좋은 선택은 를 2 이상 3 이하로 고르는 것입니다. 이때 두 번째 도로의 첫 번째와 두 번째 차가 기다리지만, 교차로에 동시에 있는 차는 최대 한 대입니다. 이면 첫 번째 도로의 세 대가 모두 기다리고, 이면 두 번째 도로의 두 번째와 세 번째 차가 교차로에서 동시에 기다리게 됩니다.