This documentation is automatically generated by competitive-verifier/competitive-verifier
// competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/problems/2559
#include <algorithm>
#include <cstdint>
#include <functional>
#include <iostream>
#include <numeric>
#include <tuple>
#include <utility>
#include <vector>
#include "graph/graph.hpp"
#include "heap/skew_heap.hpp"
#include "tree/union_find.hpp"
int main(void) {
int n, m;
std::cin >> n >> m;
std::vector<std::tuple<int, int, int>> edges(m);
for (auto &[u, v, w] : edges) std::cin >> u >> v >> w, --u, --v;
std::vector<int> ord(m);
std::iota(ord.begin(), ord.end(), 0);
std::sort(ord.begin(), ord.end(),
[&](int x, int y) { return std::get<2>(edges[x]) < std::get<2>(edges[y]); });
std::int64_t sum = 0;
union_find uf(n);
std::vector<skew_heap<std::pair<int, int>, std::greater<>>> heap(n);
Graph<int> g(n);
std::vector<bool> used(m);
for (auto x : ord) {
auto [u, v, w] = edges[x];
if (uf.same(u, v)) {
heap[u].emplace(w, v);
heap[v].emplace(w, u);
} else {
sum += w;
uf.unite(u, v);
g.add_edges(u, v, x);
used[x] = true;
}
}
if (uf.size(0) != n) {
for (int i = 0; i < m; ++i) std::cout << -1 << '\n';
return 0;
}
std::vector<std::int64_t> ans(m, -1);
for (int i = 0; i < m; ++i) {
if (!used[i]) ans[i] = sum;
}
uf = union_find(n);
auto dfs = [&](auto self, int x, int p) -> void {
for (auto e : g[x]) {
if (e.to() == p) continue;
self(self, e.to(), x);
while (!heap[e.to()].empty() && uf.same(e.to(), heap[e.to()].top().second))
heap[e.to()].pop();
if (!heap[e.to()].empty()) {
auto [u, v, w] = edges[e.weight()];
ans[e.weight()] = sum - w + heap[e.to()].top().first;
}
heap[x].meld(heap[e.to()]);
uf.unite(x, e.to());
}
};
dfs(dfs, 0, -1);
for (int i = 0; i < m; ++i) std::cout << ans[i] << '\n';
return 0;
}
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/resolver.py", line 291, in resolve
bundled_code = language.bundle(path, basedir=basedir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 242, in bundle
bundler.update(path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 479, in update
self._resolve(pathlib.Path(included), included_from=path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 286, in _resolve
raise BundleErrorAt(path, -1, "no such header")
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: graph/graph.hpp: line -1: no such header
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | 00_sample_00 |
|
3 ms | 4 MB |
| g++ | 00_sample_01 |
|
2 ms | 3 MB |
| g++ | 00_sample_02 |
|
2 ms | 3 MB |
| g++ | 00_sample_03 |
|
2 ms | 4 MB |
| g++ | 10_random_0_00 |
|
2 ms | 4 MB |
| g++ | 10_random_0_01 |
|
2 ms | 3 MB |
| g++ | 10_random_0_02 |
|
2 ms | 3 MB |
| g++ | 10_random_0_03 |
|
2 ms | 4 MB |
| g++ | 10_random_0_04 |
|
2 ms | 3 MB |
| g++ | 10_random_0_05 |
|
2 ms | 4 MB |
| g++ | 10_random_0_06 |
|
2 ms | 3 MB |
| g++ | 10_random_0_07 |
|
2 ms | 4 MB |
| g++ | 10_random_0_08 |
|
2 ms | 4 MB |
| g++ | 10_random_0_09 |
|
2 ms | 3 MB |
| g++ | 10_random_1_00 |
|
4 ms | 4 MB |
| g++ | 10_random_1_01 |
|
5 ms | 4 MB |
| g++ | 10_random_1_02 |
|
2 ms | 4 MB |
| g++ | 10_random_1_03 |
|
4 ms | 4 MB |
| g++ | 10_random_1_04 |
|
4 ms | 4 MB |
| g++ | 10_random_1_05 |
|
3 ms | 4 MB |
| g++ | 10_random_1_06 |
|
3 ms | 4 MB |
| g++ | 10_random_1_07 |
|
3 ms | 4 MB |
| g++ | 10_random_1_08 |
|
8 ms | 4 MB |
| g++ | 10_random_1_09 |
|
8 ms | 4 MB |
| g++ | 10_random_2_00 |
|
212 ms | 22 MB |
| g++ | 10_random_2_01 |
|
189 ms | 20 MB |
| g++ | 10_random_2_02 |
|
210 ms | 22 MB |
| g++ | 20_minimum |
|
2 ms | 3 MB |
| g++ | 30_corner_00 |
|
2 ms | 4 MB |
| g++ | 30_star |
|
12 ms | 5 MB |
| g++ | 31_perfect |
|
41 ms | 7 MB |
| g++ | 32_zero |
|
3 ms | 4 MB |
| g++ | 33_ring |
|
8 ms | 5 MB |
| g++ | 40_isolated |
|
2 ms | 4 MB |
| g++ | 41_tree |
|
3 ms | 4 MB |
| g++ | 90_antidfs |
|
141 ms | 45 MB |
| g++ | 91_antiRecHeap |
|
202 ms | 43 MB |