void addEdge(vertex_t src, vertex_t dst, weight_t weight) { if (max(src,dst) >= l.size()) { l.resize(max(src, dst) + 1); } l[src].push_back(edge(dst, weight)); }