파레토 법칙, 일명 "\(80/20\) 법칙"은 많은 상황에서 결과의 80%가 (가장 중요한) 원인의 20%에서 나온다는 것이다. 예를 들어, Microsoft는 가장 많이 보고된 버그의 20%를 고치면 시스템 다운타임의 80%를 없앨 수 있다는 것을 발견했다. 비즈니스 세계에서는 수입의 80%가 가장 중요한 고객의 20%에서 나온다고 흔히 말한다. 모바일 게임 세계에서, 기본 기능이 무료인 게임의 경우 수익의 50%가 플레이어의 0.5%에서 나온다. 성공의 80%는 활동의 20%에서 나온다고 말하는 사람도 있다.
전 세계 재화의 80%를 (가장 부유한) 20%의 사람들이 소유하고 있다는 것은 잘 알려진 사실이다.
여러분의 과제는 한 은행의 고객들이 보유한 계좌를 바탕으로 이 법칙의 타당성을 검증하는 것이다. 계좌의 20%가 전체 돈의 80%를 보유하고 있다는 것이 사실일까? 더 강한 주장, 예를 들어 계좌의 10%만이 전체 돈의 85%를 보유한다는 주장도 성립할까?
더 정확히 말하면: \(N\)명의 은행 고객의 계좌 잔액이 주어졌을 때, 정확히 계좌의 \(A\)
%가 은행 전체 고객의 돈의 \(B\)
%를 보유한다고 말할 수 있는 수 \(A\)
와 \(B\) 중에서 차이 \(B - A\)가 최대가 되는 것을 찾아야 한다.
입력의 첫째 줄에 은행 고객의 수인 정수 \(N\)
(\(1 \le N\)
≤ 300 000)이 주어진다.
다음 줄에 구간 [0, 100 000 000]에 속하는 정수 \(N\)
개가 주어진다. 은행 계좌의 잔액(유로)이다.
두 줄에 걸쳐 문제에서 요구하는 두 실수 \(A\)
와 \(B\)
를 퍼센트 기호 없이 출력해야 한다. \(B - A\) 차이가 최대인 해는 유일하다. 공식 해와의 차이가 0.01 미만이면 정답으로 인정된다.
2
100 200
50.0
66.66666666666666
8
100100 10 100 1000 1 10100 90100 100100
37.5
96.28172769816027