Skip to main content

Posts

Featured

Question Name:Searching 4

#include <iostream> #include < bits / stdc ++. h > using namespace std ; bool isPossible ( int arr [], int n , int m , int curr_min ) { int studentsRequired = 1 ; int curr_sum = 0 ; // iterate over all books for ( int i = 0 ; i < n ; i ++) { if ( arr [ i ] > curr_min ) return false ; if ( curr_sum + arr [ i ] > curr_min ) { studentsRequired ++; curr_sum = arr [ i ]; if ( studentsRequired > m ) return false ; } else curr_sum += arr [ i ]; } return true ; } int findPages ( int arr [], int n , int m ) { long long sum = 0 ; if ( n < m ) return - 1 ; for ( int i = 0 ; i < n ; i ++) sum += arr [ i ]; int start = 0 , end = sum ; int result = INT_MAX ; while ( start <= end ) { int mid = ( start + end ) / 2 ; if ( isPossible ( arr , n , m , mid )) { result = min ( result , mid ); end = mid - 1 ; } else start = mid + 1 ; }

Latest Posts

Question Name:Telephone

Question Name:Element appearing once

Question Name:Searching 3

Question Name:Less Mark in List

Question Name:Faculty

Question Name:Novels

Ascii Name in C

Sum Of Array Elements Using Recursion

Stack ST19