대회에서 M개의 풍선을 N명의 스태프가 나누어 만든다. i번 스태프가 풍선 하나를 만드는 데 걸리는 시간은 Ai분이며, 한 풍선을 끝내면 쉬지 않고 다음 풍선을 만들 수 있다. 모든 스태프가 0분에 동시에 작업을 시작할 때, M개의 풍선을 모두 완성하는 데 필요한 최소 시간을 구하라. 풍선의 종류는 구분하지 않는다.
예를 들어 풍선 하나에 5분이 걸리는 스태프는 0분에 시작해서 5분에 첫 풍선을 완성하고, 바로 다음 풍선을 시작해서 10분에 두 번째 풍선을 완성한다.
입력
첫째 줄에 스태프의 수 N과 만들어야 할 풍선의 개수 M이 주어진다 (1≤N,M≤1000000).
둘째 줄에 각 스태프가 풍선 하나를 만드는 데 걸리는 시간 Ai분이 N개 주어진다 (1≤Ai≤1000000).
출력
M개의 풍선을 모두 만드는 데 필요한 최소 시간(분)을 하나의 정수로 출력한다.
힌트
후보 시간 T분이 충분한지는 직접 셀 수 있다. i번 스태프는 T분 동안 ⌊T/Ai⌋개의 풍선을 완성하므로, 모든 스태프의 완성 개수 합이 M 이상이면 T분 안에 M개를 만들 수 있다. 이 판정을 이용해 가능한 시간 범위를 이분 탐색하면 최소 시간을 찾을 수 있다.