N, S = map(int, input().split()) A = list(map(int, input().split())) A.sort(reverse=True) # t秒でファン達を満足させられるか L, R = 1, S while L < R: t = (L + R) // 2 size = 0 i = 0 while A[i] > t: size += A[i] if i + t < N: i += t else: break if size <= S - 1: R = t else: L = t + 1 # L == R のはずなので print(L)