This code is producing segmentation fault error in one test case ,please help
the question is circular array rotation from hackkerrank-https://www.hackerrank.com/challenges/circular-array-rotation/problem
vector<int> circularArrayRotation(vector<int> a, int k, vector<int> queries) {
int i,temp;
vector<int> ans,rotated;
if(k>a.size()) //if rotation is more than array size then same as k=-size
k=k-a.size();
//rotating the array k times
//i.e last element in first pos and moving the rest at one pos forward
//but rotaing in more optimised way
if(k!=a.size()){
for(i=a.size()-k;i<a.size();i++)
rotated.push_back(a[i]);
for(i=0;i<a.size()-k;i++)
rotated.push_back(a[i]);
}
for(i=0;i<queries.size();i++)
{ if(k!=a.size()) //if rotation is same as array size the array is same
ans.push_back(rotated[queries[i]]);
else
ans.push_back(a[queries[i]]);
}
return ans;
}