양쪽 블록 무게가 주어질 때 정직한 War와 속임수가 허용된 Deceitful War에서 Naomi가 얻는 최적 점수를 구합니다.
보통6그리디정렬게임 이론아직 제출이 없습니다시간 제한5초메모리 제한512 MB나오미와 켄은 겉모습이 똑같은 나무 블록을 N개씩 가지고 있다. 블록의 무게는 모두 0.0kg보다 크고 1.0kg보다 작으며, 두 사람이 가진 2N개 블록의 무게는 전부 다르다.
두 사람이 하는 게임 "전쟁"의 규칙은 다음과 같다.
ChosenNaomi라고 하자.ChosenNaomi를 알려 준다.ChosenKen이라고 하자.켄에게는 상대 전략을 전혀 가정하지 않고 자기 점수를 최대로 만드는 전략이 하나뿐이고, 켄은 언제나 그 전략을 따른다.
나오미는 전쟁 대신 "속임수 전쟁"을 하기로 했다. 켄은 여전히 전쟁을 하는 줄 안다. 전쟁과 달라지는 부분은 두 가지다.
ToldNaomi를 하나 말한다. 켄은 그 수를 ChosenNaomi로 받아들인다.저울 결과가 거짓말을 드러내면 안 되므로, 나오미는 매 판마다 다음 두 조건을 지켜야 한다.
ChosenNaomi > ChosenKen인 것과 ToldNaomi > ChosenKen인 것이 서로 같은 조건이어야 한다.ToldNaomi는 켄이 가진 어떤 블록의 무게와도 같으면 안 된다. 무게가 같은 블록은 없다는 사실을 켄도 알기 때문이다.나오미는 켄이 무엇을 아는지, 켄이 전쟁의 최적 전략을 어떻게 쓰는지를 모두 알고 있으므로 켄이 낼 블록을 항상 예측한다.
두 사람이 처음에 가진 블록의 무게가 주어진다. 나오미가 속임수 전쟁을 최적으로 했을 때 얻는 점수와, 대신 전쟁을 최적으로 했을 때 얻는 점수를 구하라. 켄은 두 경우 모두 두 사람이 전쟁을 한다고 믿고 자기 점수를 최대로 만든다.
설명을 위한 상황을 두 개 들면 다음과 같다.
블록이 하나씩 남았고 나오미가 0.5kg, 켄이 0.6kg를 가지고 있다면 점수는 켄이 가져간다. 나오미가 0.6kg 이상을 말하면 저울이 켄 쪽으로 기울 때 켄이 속임수를 알아채기 때문이다.
블록이 두 개씩 남았고 나오미가 0.7kg와 0.2kg를, 켄이 0.8kg와 0.3kg를 가지고 있다면, 나오미는 0.2kg 블록을 내면서 0.6kg짜리를 골랐다고 말할 수 있다. 켄은 그 말을 믿고 0.8kg 블록을 내서 1점을 얻는다. 저울은 켄이 예상한 대로 켄 쪽으로 기울므로 켄은 속은 줄 끝까지 모른다. 다음 판에서 나오미는 0.7kg 블록을 내면서 0.7kg라고 사실대로 말하고 1점을 얻는다. 나오미가 전쟁을 했다면 켄이 2점, 나오미가 0점이었다.
첫 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫 줄에는 두 사람이 각각 가진 블록의 개수 N이 주어진다. 그다음 줄에는 나오미가 가진 블록 N개의 무게가 공백으로 구분되어 주어지고, 마지막 줄에는 켄이 가진 블록 N개의 무게가 같은 방식으로 주어진다.
무게는 모두 0 다음에 소수점이 오고 그 뒤에 숫자가 1자리 이상 5자리 이하로 붙은 형태로 주어진다. 입력에 나오는 수가 소수점 아래 5자리 이하라는 사실을 켄과 나오미는 모른다. 그래서 나오미는 0.5000001kg짜리 블록을 냈다고 말해도 되고, 켄에게는 그 말을 의심할 이유가 없다.
각 테스트 케이스마다 Case #x: y z 형식으로 한 줄씩 출력한다. x는 테스트 케이스 번호로 1부터 시작한다. y는 나오미가 속임수 전쟁을 최적으로 했을 때 얻는 점수, z는 나오미가 전쟁을 최적으로 했을 때 얻는 점수이다.