diff --git a/graph/mcmf.cc b/graph/mcmf.cc index ec0b030..cbb0221 100644 --- a/graph/mcmf.cc +++ b/graph/mcmf.cc @@ -5,6 +5,7 @@ struct mcmf { ll flow; ll cost; int rev; + bool mark; }; vector> edges; @@ -14,9 +15,9 @@ struct mcmf { mcmf(int n) : edges(n + 1), dis(n + 1), vis(n + 1) {} - void add_edge(int from, int to, ll cap, ll cost) { - edges[from].push_back({ to, cap, 0, cost, int(edges[to].size()) }); - edges[to].push_back({ from, 0, 0, -cost, int(edges[from].size() - 1)}); + void add_edge(int from, int to, ll cap, ll cost, bool mark = false) { + edges[from].push_back({ to, cap, 0, cost, int(edges[to].size()), mark }); + edges[to].push_back({ from, 0, 0, -cost, int(edges[from].size() - 1), mark }); } bool sp(int s, int t) {