C++ как читать map в map

В программе имеется map с записями(сделано), нужно его разделить пополам на блоки (сделано) и для каждого блока создать ещё статью map(не сделано). В этой статье поле ключа - значение ключа последней записи в блоке, информационное поле - адрес(индекс) первой записи в блоке. Как это можно реализовать?

#include <map>
#include <iostream>
#include <string>
#include <math.h>
#include <stdlib.h>
using namespace std::string_literals;
using namespace std;

int main()
{
    struct info
    {
        int numbers[2]; //значение объёма массива должно быть const
        char CHAR;
    };
    auto my_map = std::map <char, info>
                          { {'H', {1 , 5, 'h'}},
                            {'K', {2 , 3, 'k'}},
                            {'A', {2 , 4, 'a'}},
                            {'D', {9 , 0, 'd'}},
                            {'C', {5 , 6, 'c'}},
                            {'S', {3 , 4, 's'}},
                            {'F', {7 , 2, 'f'}},
                            {'G', {2 , 7, 'g'}},
                            {'Z', {4 , 4, 'z'}},
                            {'J', {7 , 0, 'j'}},
                            {'Q', {1 , 3, 'q'}},
                            {'B', {4 , 7, 'b'}} };
    auto size = my_map.size(); //размерность map
    auto size_of_blocks = size/2; //размер блоков
    auto it = my_map.begin();
    std::advance(it, size_of_blocks);
    auto head_map = map{
        std::make_move_iterator(my_map.begin()),
        std::make_move_iterator(it)
    };
    auto tail_map = map{
        std::make_move_iterator(it),
        std::make_move_iterator(my_map.end())
    };
    std::cout << "Block 1\n";
    for (auto [key, value] : head_map) {
        std::cout << key << " => " << value.numbers[0] << " " << value.numbers[1] << " " << value.CHAR << "\n";
    }
    std::cout << "\n\nBlock 2\n";
    for (auto [key, value] : tail_map) {
        std::cout << key << " => " << value.numbers[0] << " " << value.numbers[1] << " " << value.CHAR << "\n";
    }
    map <char, int> article; //создание статьи
    
}

Ответы (0 шт):