this is giving runtime error but runs fine in vscode

class Solution {
public:
void merging(int i,vector &nums)
{
vector left;
vector right;

for(int j=i-1;j>=0;j--)
{
    
    left.push_back(-nums[j]);
}



for(int j=i;j<nums.size();j++)
{
    right.push_back(nums[j]);
}

int n1=left.size();
int n2=right.size();

int l=0,r=0,k=0;

while(l<n1 && r<n2)
{
    if(left[l]>=right[r])
    {
        nums[k]=right[r];
        r++,k++;
    }

    if(left[l]<right[r])
    {
        nums[k]=left[l];
        l++,k++;
    }
}

while(l<n1)
{
    nums[k]=left[l];
        l++,k++;
}
while(r<n2)
{
    nums[k]=right[r];
        r++,k++;
}

}
vector sortedSquares(vector& nums) {
int i=0;
while(nums[i]<0 && i<nums.size())
{
i++;
}
cout<<i<<endl;
this->merging(i,nums);

for(int j=0;j<nums.size();j++)
{
    nums[j]=nums[j]*nums[j];
}

return nums;
    
}

};

Comments (0)