Authorize users for specific pages and/or categories

An author can *edit_posts* but can not *edit_pages*. Personally I prefer in such a case to create a new role which gets the capabilities as needed. A quick shot for a solution of your problem in a custom plugin would be:

namespace WPSE\realloc;

function activate( $network_wide ) {
    add_role(
        'division',
        __( 'people in charge of a division' ), 
        array(
            'read'       => true,
            'edit_pages' => true,
            'edit_posts' => true,
        )
    );
}
register_activation_hook( __FILE__, __NAMESPACE__ . '\\activate' );

function remove_meta_box() {
    if ( ! current_user_can( 'manage_options' ) ) {
        remove_meta_box( 'categorydiv', 'post', 'side' );
    }
}
add_action( 'do_meta_boxes', __NAMESPACE__ . '\\remove_meta_box' );

And you can like in my example decide to remove the meta_box of the category selector if your normal users should not choose the category of their posts.