# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
524804 | qwerasdfzxcl | Mountains and Valleys (CCO20_day1problem3) | C++14 | 13 ms | 12492 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
vector<pair<int, int>> adj[500500];
int dist[500500];
void dfs(int s, int pa = -1){
if (pa==-1) dist[s] = 0;
else dist[s] = dist[pa] + 1;
for (auto &v:adj[s]) if (v.first!=pa) dfs(v.first, s);
}
int main(){
int n, m;
scanf("%d %d", &n, &m);
for (int i=0;i<m;i++){
int x, y, z;
scanf("%d %d %d", &x, &y, &z);
if (z!=1) continue;
adj[x].emplace_back(y, z);
adj[y].emplace_back(x, z);
}
dfs(0);
dfs(max_element(dist, dist+n)-dist);
printf("%d\n", (n-1)*2 - *max_element(dist, dist+n));
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |