Качество реализации в стороне (нет необходимости делать какую-либо копию для поворота вектора, это можно сделать на месте), скорее всего ошибка, вызывающая ошибку segfault, в коде, который не показан.
Для дальнейшей отладки могут быть полезны следующие ссылки:
Если вам нужна дополнительная помощь, опубликуйте весь код.
== РЕДАКТИРОВАТЬ ==
Ваш код не вызывает segfault, но выдает ошибку «Прервано из-за тайм-аута» на HackerRank. Другими словами, ваше решение слишком медленное.
Это потому, что нет необходимости вращать что-либо, чтобы решить Вращение круговой матрицы :
vector<int> circularArrayRotation(vector<int> a, int k, vector<int> queries) {
vector<int> res;
res.reserve(queries.size());
int offset = k % a.size() - a.size();
for (int i : queries) {
res.push_back(a[(i - offset) % a.size()]);
}
return res;
}
т.е. просто примите во внимание поворот при выборе запрошенного элемента.