template <class In, class X>
void remove_copys(In begin, In end, In bk(In), const X& x)
{
while( begin!=end ) {
if (*begin != x)
bk(begin);
++begin;
}
};
**(A + i) >= **(A + i + 1)
map<int,int>
), далее надо найти максимальный ключ со значением >2 (подсказка: map уже сортирован)