Эта строка создает вектор с размером 1 со значением ноль
std::vector<int> sum(1); // sum now contains { 0 }
Затем после вашего push_back
sum.push_back(1); // sum now contains { 0, 1 }
Затем вы присваиваете первое значение
sum[0] = 1; // sum now contains { 1, 1 }