https://codereview.appspot.com/230990043/diff/1/1.cpp.c File 1.cpp.c (right): https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode4 1.cpp.c:4: using namespace std; using namespace std не пишем https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode32 1.cpp.c:32: vector<vector<vertex> > list_of_smejnost; //sorry for this name adjacency_list https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode33 1.cpp.c:33: vector<vertex> hlp; Не надо использовать глобальные вектора и переменные https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode47 1.cpp.c:47: if(b * 2 + 1 < heap.size()) { Странный иф, это можно добавить в условие цикла. https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode60 1.cpp.c:60: b *= 2; Непонятно зачем здесь нужно дублирование кода https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode81 1.cpp.c:81: ans.push_back(-1); Векторам можно сразу задать нужный размер и заполнять их, вместо использования push_back https://codereview.appspot.com/230990043/diff/1/1.cpp.c#newcode128 1.cpp.c:128: } Очень много плохих названий переменных, надо оформить код хорошо.