import java.util.*; import java.lang.*; import java.io.*; public class Main { public static long minimumPossibleNumber(long arr[],int n,long m){ long min=Integer.MIN_VALUE; long max=0L; for(int i=0;imin){ min=arr[i]; } max+=arr[i]; } Long low=0L; long high=max; long res=-1L; while(low<=high){ long mid=low+(high-low)/2; if(isPossible(arr ,n,m,mid)){ res=mid; high=mid-1L; } else{ low=mid+1L; } } return res; } public static boolean isPossible(long arr[] ,int n ,long m,long mid ){ long studentCount=1L; long pageCount=0L; for(int i=0;im||arr[i]>mid){ return false; } pageCount=arr[i]; } } return true; } public static void main (String[] args) throws java.lang.Exception { //your code here Scanner sc=new Scanner(System.in); int n=sc.nextInt(); long arr[]=new long [n]; for(int i=0;i