Submission #798447

#TimeUsernameProblemLanguageResultExecution timeMemory
798447OspleiRoadside Advertisements (NOI17_roadsideadverts)C++17
7 / 100
1083 ms6448 KiB
#include <bits/stdc++.h>
 
using namespace std;

int n, u, v, w, a, b, c, d, e, q;
vector <pair <int, int>> grafo[50005];
bool visto[50005];

int dfs(int nodo){

  visto[nodo]=true;

  int suma=0;

  for (auto i:grafo[nodo]) if (visto[i.first]==false) suma+=dfs(i.first)+i.second;

  return suma;
}

void SOLVE(){
  
  cin >> n;

  for (int i=0; i<n-1; i++){
    cin >> u >> v >> w;

    grafo[u].push_back({v, w});
    grafo[v].push_back({u, w});
  }

  cin >> q;

  while (q--){
    cin >> a >> b >> c >> d >> e;

    memset(visto, false, sizeof visto);

    cout << dfs(a) << "\n";
  }
}
 
int main(){
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  //cin >> t;
  while(t--){
    SOLVE();
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...