두 결과에 대한 배당들 가운데 일부를 골라 두 결과 각각의 총 수익에서 건 수를 뺀 값의 최솟값이 최대가 되도록 한다.
보통6그리디정렬수학아직 제출이 없습니다시간 제한2초메모리 제한128 MB베팅에서 운은 큰 비중을 차지한다. 어떤 사람은 베팅 대상을 잘 알아서 적중률과 수익을 높인다. 여기서는 다른 방법을 쓴다.
같은 결과를 두고도 업체마다 서로 다른 배당률을 제시한다. 배당률이 x라는 말은 1유로를 걸고 결과를 맞히면 x유로를 돌려받는다는 뜻이다. 결과를 맞히지 못하면 아무것도 돌려받지 못한다. 결과와 상관없이 베팅 한 건마다 1유로를 낸다. 여러 곳에 영리하게 나눠 걸어서 어떤 결과가 나와도 이익을 확정할 수 있다면, 그 확정 이익을 최대로 키우고 싶다.
베팅 대상 경기의 결과는 두 가지다. 서로 다른 배당률을 제시하는 업체가 n개 있다. i번째 업체가 첫 번째 결과에 제시한 배당률을 ai, 두 번째 결과에 제시한 배당률을 bi라고 하자. 제시된 배당률 가운데 어떤 부분집합에도 베팅할 수 있고, 한 업체에서 두 결과 모두에 걸 수도 있다. 다만 모든 베팅 금액은 정확히 1유로이고, 같은 업체의 같은 결과에 두 번 이상 걸 수는 없다.
첫 번째 결과가 나오면 첫 번째 결과에 베팅한 업체 i마다 ai유로를 받는다. 두 번째 결과가 나오면 두 번째 결과에 베팅한 업체 i마다 bi유로를 받는다. 두 경우 모두 베팅 한 건마다 1유로를 이미 낸 상태다.
최적으로 베팅했을 때 결과와 상관없이 보장되는 이익의 최댓값을 구하라.
첫 줄에 업체의 수 n이 주어진다. 다음 n개 줄에는 공백으로 구분된 실수 ai와 bi가 주어진다. 각각 i번째 업체가 첫 번째 결과와 두 번째 결과에 제시한 배당률이다. 배당률은 소수점 아래 최대 4자리까지 주어진다.
보장되는 이익의 최댓값을 소수점 아래 정확히 4자리로 반올림해 한 줄에 출력한다.
첫 번째 예제에서는 1번 업체의 두 번째 결과, 3번 업체와 4번 업체의 첫 번째 결과에 거는 것이 최적이다. 베팅은 세 건이므로 3유로를 낸다. 첫 번째 결과가 나오면 1.6+1.9−3=0.5유로를 벌고, 두 번째 결과가 나오면 3.7−3=0.7유로를 번다. 따라서 어떤 결과가 나와도 0.5유로가 보장된다.