How exclude 3 latest posts of a category in query_posts

I’d do it like this:

$excluded_posts = array();

// select first 3 featured posts ordered by date

$args = array (
    'post_type'              => array( 'post' ),
    'category_name'          => 'featured',
    'posts_per_page'         => '3',
    'order'                  => 'DESC',
    'orderby'                => 'date',
    'ignore_sticky_posts'    => true, // or maybe not?
);

$query = new WP_Query( $args );

while ( $query->have_posts() ) { $query->the_post();
    $excluded_posts[] = get_the_ID();
}

wp_reset_postdata();

// select first 3 news ordered by date

$args['category_name'] = 'news';

$query = new WP_Query( $args );

while ( $query->have_posts() ) { $query->the_post();
    $excluded_posts[] = get_the_ID();
}

wp_reset_postdata();

$args = array (
    'post__not_in'              => $excluded_posts,
    'ignore_sticky_posts'       => true,
);

$query = new WP_Query( $args );

while ( $query->have_posts() ) { $query->the_post();
    // finally loop with last 10 without last 3 news and featured posts
}

wp_reset_postdata();