В примере ACM мне пришлось создать большую таблицу для динамического программирования. Мне пришлось хранить два целых числа в каждой ячейке, поэтому я решил пойти на std::pair<int, int>
. Однако выделение огромного массива из них заняло 1,5 секунды:
std::pair<int, int> table[1001][1001];
Впоследствии я изменил этот код на
struct Cell {
int first;
int second;
}
Cell table[1001][1001];
а выделение заняло 0 секунд.
Чем объясняется эта огромная разница во времени?