각기 다른 속도로 좌우로 도망치는 메추라기를 오가는 순서를 정해 가장 짧은 시간에 모두 잡습니다.
보통7동적 계획법수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB기르던 메추라기 N마리가 모두 달아났다. 당신은 수직선 위 좌표 0에 서 있고, i번째 메추라기는 0이 아닌 정수 좌표 Pi(미터)에서 출발한다. 메추라기는 매초 정수 속도 Si미터로 당신에게서 멀어지는 방향으로 쉬지 않고 달리며, 당신이 자기 쪽으로 달려오지 않는 동안에도 계속 달린다. 당신은 매초 정수 속도 Y미터로 달릴 수 있고, 원하는 순간에 즉시 방향을 바꿀 수 있다. 당신이 어떤 메추라기와 같은 지점에 있게 되면 그 메추라기는 그 자리에서 잡히고, 잡는 데 추가 시간은 들지 않는다.
메추라기를 지나치려면 먼저 잡아야 하므로, 양의 좌표에서 출발한 메추라기는 계속 오른쪽으로, 음의 좌표에서 출발한 메추라기는 계속 왼쪽으로 달린다.
메추라기를 모두 잡는 데 걸리는 최소 시간은 몇 초인가?
첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 당신의 속도 Y와 메추라기의 수 N이 공백을 두고 주어진다. 다음 줄에는 메추라기의 위치 P1,P2,…,PN이, 그 다음 줄에는 메추라기의 속도 S1,S2,…,SN이 각각 공백을 두고 주어진다.
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 메추라기를 모두 잡는 데 걸리는 최소 시간(초)이다.
y는 소수점 아래 여섯째 자리까지 반올림해서 적고, 소수점 아래 자리는 항상 여섯 개를 적는다. 버리는 부분이 정확히 절반이면 올린다. 입력 데이터의 정확한 답은 모두 반올림 경계에서 10−9 이상 떨어져 있다.
첫 번째 예제의 1번 테스트 케이스에서는 왼쪽으로 달려 출발 지점에서 왼쪽으로 12미터 떨어진 지점에서 메추라기 세 마리를 한꺼번에 잡을 수 있다. 3초가 걸린다.
2번 테스트 케이스의 최적 전략 하나는 다음과 같다. 먼저 왼쪽으로 달려 1초 뒤 좌표 −2에서 두 번째 메추라기를 잡고, 방향을 바꿔 오른쪽으로 달려 4초를 더 써서 좌표 6에서 첫 번째 메추라기를 잡는다.