Why doesn’t ‘post__not_in’ work with ‘cat’?

When I write ‘cat’ => ’45’, then ‘post__not_in’ does not work, if you remove cat, then everything works without problems. I would be grateful for your help

$  args = array(        'posts_per_page' => 20,        'post__not_in' => array(7403,7404,7405),        'cat' => '45',   'meta_query' => array(      array(         'key' => 'главный_кр',         'value' => 'да'     ) )); 

$ query = new WP_Query( $ args );