int  check(  vector< int > a , int  x , int  p) 
{ 
    int  c =  0  , m =  0  , i  , n =  a.size ( ) ; 
    for (  i =  0  ;  i <  n ;  i++ ) 
    { 
        if (  m +  a[ i]  <=  x) 
            m + =  a[ i] ; 
        else  
        { 
            c++ ; 
            m =  a[ i] ; 
        } 
    } 
    if (   c <=  (  p - 1  ) ) 
        return  1 ; 
    return  0 ; 
} 
int  books( vector< int >  & A, int  B) 
{ 
    int  i , u =  - 1  , s =  0  ; 
    for (  i =  0  ;  i <  A.size ( )  ;  i++ ) 
       { 
           u =  max(  u , A[ i] ) ; 
           s + =  A[ i] ; 
       } 
    int  l =  u , h =  s , m; 
    int  lm =  - 1  , ans =  - 1 ; 
    if (  B >  A.size ( )  ) 
        return  - 1 ; 
    else  if (  B ==  A.size ( )  ) 
        return  u; 
    else  if (  B ==  1 ) 
        return  s; 
    while (  l <=  h) 
    { 
        m =  (  l +  h )  /  2 ; 
        //printf("%d %d %d " , l , m ,h ); 
        if (  l ==  lm ) 
            break ; 
        if (  check(  A , m , B)  ) 
        { 
            ans =  m; 
            h =  m- 1 ; 
        } 
        else  l =  m +  1 ; 
        lm =  m; 
    } 
    return  ans; 
} 
 
 
aW50IGNoZWNrKCB2ZWN0b3I8aW50PmEgLCBpbnQgeCAsIGludCBwKQp7CiAgICBpbnQgYyA9IDAgLCBtID0gMCAsIGkgICwgbiA9IGEuc2l6ZSgpOwogICAgZm9yKCBpID0gMCA7IGkgPCBuIDsgaSsrKQogICAgewogICAgICAgIGlmKCBtICsgYVtpXSA8PSB4KQogICAgICAgICAgICBtICs9IGFbaV07CiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIGMrKzsKICAgICAgICAgICAgbSA9IGFbaV07CiAgICAgICAgfQogICAgfQogICAgaWYoICBjIDw9ICggcCAtMSApKQogICAgICAgIHJldHVybiAxOwogICAgcmV0dXJuIDA7Cn0KaW50IGJvb2tzKHZlY3RvcjxpbnQ+ICZBLCBpbnQgQikKewogICAgaW50IGkgLCB1ID0gLTEgLCBzID0gMCA7CiAgICBmb3IoIGkgPSAwIDsgaSA8IEEuc2l6ZSgpIDsgaSsrKQogICAgICAgewogICAgICAgICAgIHUgPSBtYXgoIHUgLCBBW2ldKTsKICAgICAgICAgICBzICs9IEFbaV07CiAgICAgICB9CiAgICBpbnQgbCA9IHUgLCBoID0gcyAsIG07CiAgICBpbnQgbG0gPSAtMSAsIGFucyA9IC0xOwogICAgaWYoIEIgPiBBLnNpemUoKSApCiAgICAgICAgcmV0dXJuIC0xOwogICAgZWxzZSBpZiggQiA9PSBBLnNpemUoKSApCiAgICAgICAgcmV0dXJuIHU7CiAgICBlbHNlIGlmKCBCID09IDEpCiAgICAgICAgcmV0dXJuIHM7CiAgICB3aGlsZSggbCA8PSBoKQogICAgewogICAgICAgIG0gPSAoIGwgKyBoICkgLyAyOwogICAgICAgIC8vcHJpbnRmKCIlZCAlZCAlZCAiICwgbCAsIG0gLGggKTsKICAgICAgICBpZiggbCA9PSBsbSApCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGlmKCBjaGVjayggQSAsIG0gLCBCKSApCiAgICAgICAgewogICAgICAgICAgICBhbnMgPSBtOwogICAgICAgICAgICBoID0gbS0xOwogICAgICAgIH0KICAgICAgICBlbHNlIGwgPSBtICsgMTsKICAgICAgICBsbSA9IG07CiAgICB9CiAgICByZXR1cm4gYW5zOwp9Cgo=
				
				 
			
				
			
			
				
	
		
	
		 
	prog.cpp:1:12: error: 'vector' was not declared in this scope
 int check( vector<int>a , int x , int p)
            ^
prog.cpp:1:19: error: expected primary-expression before 'int'
 int check( vector<int>a , int x , int p)
                   ^
prog.cpp:1:27: error: expected primary-expression before 'int'
 int check( vector<int>a , int x , int p)
                           ^
prog.cpp:1:35: error: expected primary-expression before 'int'
 int check( vector<int>a , int x , int p)
                                   ^
prog.cpp:1:40: error: expression list treated as compound expression in initializer [-fpermissive]
 int check( vector<int>a , int x , int p)
                                        ^
prog.cpp:2:1: error: expected ',' or ';' before '{' token
 {
 ^