Trim to Non-Decreasing — Solution & Editorial
The kept elements form the longest NON-DECREASING subsequence — patience sorting with an upper-bound insertion (allows equals). Deletions = N − its length.
Complexity: O(N log N)
Watch out: Non-decreasing needs bisect_right (upper bound), not bisect_left, so equal values extend the run.