#include<bits/stdc++.h>
using namespace std;
#define nl '\n'
#include "swap.h"
const int N = 1e5;
vector<pair<int,int>> g[N];
int ans = 0, cnt = 0;
void dfs(int v, int p, int f, int d){
for(auto [ch, w] : g[v]){
if(ch == f) ans = max(ans, max(d, w)), cnt++;
if(ch != p and ch != f){
dfs(ch, v, f, max(d, w));
}
}
}
void init(int n, int m, vector<int> u, vector<int> v, vector<int> w){
for(int i=0; i<m; i++){
g[u[i]].push_back({v[i], w[i]});
g[v[i]].push_back({u[i], w[i]});
}
return;
}
int getMinimumFuelCapacity(int x, int y){
dfs(x, -1, y, 0);
return (cnt < 2 ? -1 : ans);
}
// int main(){
// int N, M;
// std::cin>>N>>M;
// std::vector<int> U(M), V(M), W(M);
// for (int i = 0; i < M; ++i) {
// assert(3 == scanf("%d %d %d", &U[i], &V[i], &W[i]));
// }
// int Q;
// assert(1 == scanf("%d", &Q));
// std::vector<int> X(Q), Y(Q);
// for (int i = 0; i < Q; ++i) {
// assert(2 == scanf("%d %d", &X[i], &Y[i]));
// }
// init(N, M, U, V, W);
// std::vector<int> minimum_fuel_capacities(Q);
// for (int i = 0; i < Q; ++i) {
// minimum_fuel_capacities[i] = getMinimumFuelCapacity(X[i], Y[i]);
// }
// for (int i = 0; i < Q; ++i) {
// printf("%d\n", minimum_fuel_capacities[i]);
// }
// return 0;
// }
# | 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... |