휴먼 파이프라인

아직 제출이 없습니다시간 제한1.5초메모리 제한1024 MB

문제

오늘은 중요한 날이다. SUAPC가 있는 날이기 때문이다.

이렇게 중요한 날이지만 안타깝게도 일을 해야 한다. 오늘 해야 할 일은 상자 KK개를 적절한 곳으로 옮겨야 하는 일이다.

상자 KK개는 너무 많아서 아무래도 혼자서 전부 나를 수는 없기 때문에, NN명의 SUAPC 참가자들이 상자를 나르기 위해 모여 있다. NN명 모두가 일을 최대한 빠르게 마치고 SUAPC에 참가하고 싶어한다.

참가자들은 두 팀으로 나눠져서 작업을 진행하기로 했다. 두 팀이 같은 수의 상자를 옮길 필요는 없다. 두 팀 모두 적어도 한 명은 포함되어야 한다. 각 사람의 분당 작업 속도는 v_iv\_i며 팀의 작업 속도는

((해당 팀에 속한 사람들의 작업 속도 중 가장 느린 작업 속도)×()\times(팀에 속한 사람의 수))

이다. 상자 KK개를 옮기는 팀의 분당 작업 속도가 vv일 때, 팀이 작업을 마치는 데에는 Kv\left\lceil \frac{K}{v} \right\rceil분이 걸린다.

모두가 행복하게 SUAPC에 참가할 수 있게, 모든 상자를 최대한 빠르게 옮길 수 있도록 NN명을 적절히 두 팀으로 나누어 두 팀이 동시에 상자를 옮기기 시작했을 때 제일 빨리 끝나는 경우의 시간을 구하자.

입력

다음과 같이 입력이 주어진다.

NN  KK
v_1v\_1 v_2v\_2 \cdots v_Nv\_N

  • NN은 모인 사람의 수다. (2N200,0002 \le N \le 200\\,000)
  • KK는 옮겨야 하는 상자의 개수이다. (1K10181 \le K \le 10^{18})
  • v_iv\_iii번째 사람의 분당 작업 속도이며, 1분에 상자 v_iv\_i개를 옮길 수 있다는 뜻이다. (1v_i1091 \le v\_i \le 10^9)
  • 입력으로 주어지는 모든 수는 정수다.

출력

모든 상자를 최대한 빠르게 옮기는 경우의 작업 시간을 분 단위로 출력한다.