Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
2,426 views

in Online Assessments by Expert (108,280 points) | 2,426 views

1 Answer

0 like 0 dislike
public  int getMinDecrement(int arr[],int maxMoves){

        int max=0;

        for(int ele:arr){

            max=Math.max(ele,max);

        }

        int l=1;

        int r=max;

 

        while(l<r){

            int mid=(l+r)>>1;

            int moves=calcMoves(mid,arr);

            if(moves>maxMoves){

                l=mid+1;

            }

            else{

                r=mid;

            }

        }

        return l;

    }

   

    public  int calcMoves(int mid,int arr[]){

        int n=arr.length;

        int moves=0;

        for(int i=0;i<n;i++){

            if(arr[i]<=mid){

                moves+=1;

            }    

            else if(arr[i]%mid==0){

                moves+=(arr[i]/mid);

            }

            else{

                moves+=(arr[i]/mid)+1;

            }

        }

        return moves;

 }
by (160 points)