This documentation is automatically generated by competitive-verifier/competitive-verifier
// @brief Tree Diameter (SPFA)
#define PROBLEM "https://judge.yosupo.jp/problem/tree_diameter"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include <iostream>
//#include "blazingio/blazingio.min.hpp"
#include "cp-algo/graph/shortest_path.hpp"
#include <bits/stdc++.h>
using namespace std;
using namespace cp_algo::graph;
template<weighted_undirected_graph_type graph>
std::tuple<int64_t, node_index, cp_algo::big_vector<edge_index>> tree_diameter(graph const& g) {
auto [d1, _] = spfa(g, 0);
node_index s = 0;
for(auto v: g.nodes()) {
if (d1[v] > d1[s]) {
s = v;
}
}
auto [d2, pre] = spfa(g, s);
node_index t = 0;
for(auto v: g.nodes()) {
if (d2[v] > d2[t]) {
t = v;
}
}
return {d2[t], s, recover_path(g, pre, s, t)};
}
void solve() {
int n;
cin >> n;
weighted_graph g(n);
g.read_edges(n - 1);
auto [d, v, path] = tree_diameter(g);
cout << d << ' ' << size(path) + 1 << '\n';
cout << v;
for(auto e: path) {
v = g.edge(e).traverse(v);
cout << ' ' << v;
}
cout << "\n";
}
signed main() {
//freopen("input.txt", "r", stdin);
ios::sync_with_stdio(0);
cin.tie(0);
int t = 1;
//cin >> t;
while(t--) {
solve();
}
}
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, 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 252, in bundle
bundler.update(path)
File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 327, in update
assert len(lines) == len(uncommented_lines)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | example_00 |
|
5 ms | 4 MB |
| g++ | hack_00 |
|
4 ms | 4 MB |
| g++ | line_00 |
|
189 ms | 45 MB |
| g++ | max_random_00 |
|
231 ms | 41 MB |
| g++ | max_random_01 |
|
252 ms | 42 MB |
| g++ | random_00 |
|
178 ms | 35 MB |
| g++ | random_01 |
|
199 ms | 39 MB |
| g++ | random_02 |
|
27 ms | 7 MB |
| g++ | random_03 |
|
182 ms | 37 MB |
| g++ | random_04 |
|
118 ms | 28 MB |
| g++ | small_random_00 |
|
5 ms | 4 MB |
| g++ | small_random_01 |
|
4 ms | 4 MB |
| g++ | small_random_02 |
|
4 ms | 4 MB |
| g++ | small_random_03 |
|
4 ms | 4 MB |
| g++ | small_random_04 |
|
4 ms | 4 MB |
| g++ | uni_00 |
|
142 ms | 43 MB |