Submission #334407

#TimeUsernameProblemLanguageResultExecution timeMemory
334407amunduzbaevEvacuation plan (IZhO18_plan)C++14
0 / 100
2 ms652 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define mp make_pair #define ub upper_bound #define lb lower_bound #define ll long long #define ld long double #define pii pair<int, int> #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(),x.rend() #define prc(n) fixed << setprecision(n) #define fastios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define pi acos(-1); const int inf = 1e9+7; const int N = 1e3+5; vector<vector<pii>> edges(N); int cur; ll dis[N], used[N]; void dfs(int u, ll d, int pr){ if(used[u]) { dis[u] = min(dis[u], d); return; } used[u] = 1; dis[u] = min(dis[u], d); for(auto x:edges[u]){ if(x.ff == pr) continue; dfs(x.ff, d + x.ss, u); } } void solve(){ fastios int n, m; cin>>n>>m; for(int i=0;i<m;i++){ int a, b, w; cin>>a>>b>>w; edges[a].pb({b, w}); edges[b].pb({a, w}); } int k; cin>>k; memset(dis, inf, sizeof(dis)); for(int i=0;i<k;i++){ cin>>cur; dfs(cur, 0, -1); memset(used, 0, sizeof(dis)); } int q; cin>>q; for(int i=0;i<q;i++){ int f, s; cin>>f>>s; cout<<min(dis[f], dis[s])<<"\n"; } return; } /* 5 6 1 2 4 1 3 6 1 4 2 3 2 9 4 5 12 1 5 7 */ int main(){ fastios int t = 1; //cin>>t; while(t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...