\begin{algorithm}
        \caption{Max Heap Delete}
        \begin{algorithmic}
        \STATE \COMMENT{a lazier and slower version}
        \PROCEDURE{MaxHeapDelete}{$A, i$}
            \STATE \CALL{HeapIncreaseKey}{$A, i, \infty$}
            \STATE \CALL{HeapExtractMax}{$A$}
        \ENDPROCEDURE
        \STATE
        \STATE \COMMENT{a faster but more complex version}
        \PROCEDURE{MaxHeapDelete}{$A, i$}
            \IF{$A[i] > A[A.\text{heap-size}]$}
                \STATE $A[i] = A[A.\text{heap-size}]$
                \STATE \CALL{MaxHeapify}{$A, i$}
            \ELSE
                \STATE \CALL{HeapIncreaseKey}{$A, i, A[A.\text{heap-size}]$}
            \ENDIF
            \STATE $A.\text{heap-size} = A.\text{heap-size} - 1$
        \ENDPROCEDURE
        \end{algorithmic}
        \end{algorithm}