혼합물 (Large)
시간 제한1초메모리 제한256 MB
N개 재료의 한도 안에서 두 제품 A와 B의 생산량을 실수로 정해 가치를 최대로 만들되, 같은 값이면 A를 가장 적게 만드는 해를 구한다.
문제
어느 연구실에서 지금까지 알려진 적 없는 두 가지 신물질 A와 B를 만드는 방법을 찾아냈다. 실제로 만들어질 수 있는지는 따지지 않는다. A와 B는 모두 가지 재료 을 정해진 비율로 섞어서 만든다. A는 1g당 가치가 이고, B는 1g당 가치가 이다.
A를 1g 만들려면 가 g 필요하고, B를 1g 만들려면 가 g 필요하다. 재료는 모두 희귀해서 는 g만 남아 있다. A와 B는 0 이상의 실수 g만큼 만들 수 있고, 정수 g로 맞출 필요는 없다.
남아 있는 재료로 A와 B를 만들어 얻을 수 있는 가치의 최댓값을 구하고, 그때 A와 B를 각각 몇 g 만들어야 하는지 구하는 프로그램을 작성하여라.
입력
첫째 줄에 , , 가 주어진다.
둘째 줄에 이 주어지고, 셋째 줄에 이 주어진다. 넷째 줄에 이 주어진다.
이고, 을 제외한 모든 수는 이상 이하의 자연수이다.
출력
첫째 줄에 얻을 수 있는 가치의 최댓값을 출력한다.
둘째 줄에 A를 몇 g 만들어야 하는지와 B를 몇 g 만들어야 하는지를 공백으로 구분해 출력한다.
세 값 모두 정확한 값을 소수점 아래 둘째 자리까지 반올림해서 출력한다. 버리는 부분이 정확히 중간이면 올린다. 예를 들어 정확한 값이 이면 을 출력한다.
가치가 최대가 되는 방법이 여러 가지이면 A를 가장 적게 만드는 것을 출력한다.