#include #include #include #include #include template void init_a(C &c) { std::random_device device; std::default_random_engine engine(device()); std::uniform_int_distribution distribution; auto rng = std::bind(distribution, engine); std::ranges::generate(c, rng); } template void init_b(C &c) { std::ranges::iota(c, 0); } int main() { const size_t N = 1 << 24; // 16M std::vector a(N), b(N); // 16M * 4B = 64MB each one init_a(a); init_b(b); return std::accumulate(a.begin(), a.end(), 0) + std::accumulate(b.begin(), b.end(), 0); }