문제
진흥이네 학교에서는 지금 교내 체육대회가 진행되고 있는데 지금은 턱걸이 종목의 게임이 진행되고 있다.
턱걸이에는 누구보다 자신 있던 진흥이도 참가신청을 하고 자기 차례를 기다리고 있다.
다른 선수들의 순서가 모두 끝나고 드디어 진흥이의 순서가 되었다. 당연하게도 진흥이는 다른 모든 선수들이 턱걸이를 몇 개씩 했는지 알고 있다.
진흥이는 두 가지의 목표를 세워서 턱걸이를 시작하기로 했다.
가능하면 1등을 하여 금메달을 따는 것을 목표로 하되 만약 그것이 불가능하게 될 경우 최소한 3등안에 들어서 동메달 이상을 따는 것이다.
그러기 위해서는 금메달을 따기 위한 최소 개수와 동메달 이상을 따기 위한 최소 개수를 알아야 한다.
만약 개수가 같은 경우에는 공동시상을 하게 되므로 금메달을 따기 위해서는 자신보다 더 많은 개수가 없으면 되고
동메달 이상을 따기 위해서는 자신보다 더 많은 개수가 2명 이하면 된다.
진흥이가 금메달을 따기 위해 턱걸이를 해야 하는 최소 개수와, 동메달 이상을 따기 위한 최소 개수를 구하는 프로그램을 작성해서 알려주도록 하자
입력
첫째 줄에는 진흥이를 제외한 턱걸이 대회 참가자의 수 N(5 <= N <= 100000)이 입력되고, 그 다음 줄에는 N명의 턱걸이 개수가 공백으로 구분하여 입력된다.
출력
진흥이가 턱걸이를 해야 하는 개수를 금메달을 따기 위한 최소 개수, 동메달 이상을 따기 위한 최소 개수 순으로 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 10점 | 5 <= N <= 10 |
| #2 | 20점 | 10 < N <= 1000 |
| #3 | 70점 | 추가적인 제약 조건이 없다. |
예제
7
37 15 8 29 66 37 48
66 37