блядь проблема в том что нет никакой алгоритмической сложности. вот поц дрочил дефолтдикт, ты там блядь знаешь не кидает ли он эксепшен внутри если не находит элемент? ты там знаешь как он выделяет память? ты там знаешь насколько дорогой получается интерпретация относительно одного вызова сишной сортировки?
И про то, что a и b могут быть итераторами, уже было добавлено, а это не одна, две лишние аллокации и сортировки. Но оба решения бы устроили, на самом деле, думаю.