Can anyone help me out in finding how the time complexity of erase in multiset is amortized constant when we erase by passing iterator to element we want to erase. Like I am getting the point that we are directly providing iterator to the element but I am thinking that after deleting that element, we have to maintain the red black tree (multiset is internally implemented as red black tree) which will have time complexity greater O(1). Then how comes the time complexity to be amortized constant. Thanks in advance.