n, s = map(int, input().split()) a = sorted(map(int, input().split()), reverse=True) l = 0 r = 1 def f(c): rest = s - 1 cnt = 0 for x in a: if cnt: cnt -= 1 elif x <= c: return True elif x <= rest: rest -= x cnt = c - 1 else: return False return True while not f(r): l = r r *= 2 while r - l > 1: c = (l + r) // 2 if f(c): r = c else: l = c print(r)