Traverse the mini array from left to right . If prefix_sum [ i ] is less than any element then insert prefix_sum [ i ] at that position and delete maximum element of the mini array i . e . the rightmost element from the array .
int k = mini . size ( ) ; for ( int i = 0 ; i < k ; i ++ ) { if ( pre_sum < mini [ i ] ) { mini . insert ( mini . begin ( ) + i , pre_sum ) ; mini . erase ( mini . begin ( ) + k ) ; break ; } } }