Why my code is not running correctly for hackerank question?

Question : https://www.hackerrank.com/challenges/cut-the-sticks/problem

my code :

vector cutTheSticks(vector arr) {

    vector<int> ans;
     multiset<int> a(arr.begin(),arr.end());
     
     vector<int> b(a.begin(),a.end());
     
     ans.push_back(a.size());
     while(!a.empty())
     {
         multiset<int >s;
         for(int i=0;i<b.size();i++)
         {
             
             b[i]=b[i]-b[0];
            // cout<<b[i]<<" ";
            if(b[i]>0)
            {
                cout<<i<<" ";
                s.insert(b[i]);
            }
         }
         cout<<endl;

        vector<int> q(s.begin(),s.end());
        b=q;
        a=s;
        if(a.size()!=0)
        ans.push_back(a.size());
     }
     return ans;

}

you can ask doubts only which are related to our course
or discussed in our course content video