Проблема в том, что
vector< pair< int , pair<int, int> > > vp(n);
// ......................................^^^ n initial elements
инициализирует вектор с n
элементами и с push_back()
you add other n
elements`.
После сортировки v
элемент v[0]
является (я полагаю) одним из инициалов n
.
Вы должны создать пустой вектор
vector< pair< int , pair<int, int> > > vp;
// ....................................^^ no more initial elements; empy!
и, просто чтобы ускорить и избежать лишних перемещений, зарезервируйте n
в качестве размера (но не обязательно)
vp.reserve(n);
, прежде чем отталкивать n
элементов.
Не по теме. Не включайте нестандартный заголовок, например
#include <bits/stdc++.h>
.