

import java.util.Arrays;
import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNextLine()) { int a = in.nextInt();in.nextLine();int b = in.nextInt();in.nextLine();int[] arr = new int[a];for(int i = 0;i<a;i++){arr[i] = in.nextInt();}Arrays.sort(arr);System.out.println(solve(a,b,arr));}}private static int solve(int a, int b, int[] arr) {int left =1,right = arr[arr.length-1];while(left<right){int mid = left+(right-left)/2;if(ok(arr,b,mid)){right = mid;}else{left = mid+1;}}return left;}private static boolean ok(int[] arr, int b, int mid) {int temp = b;for(int i =0;i<arr.length;i++){if (temp>arr[i]) {temp = temp-arr[i] + mid;}else{return false;}}return true;}}