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=
compilation info
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
{
^
stdout