Submission #244604

#TimeUsernameProblemLanguageResultExecution timeMemory
244604kimbj0709Toll (BOI17_toll)C++14
10 / 100
88 ms9080 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define maxn 50050 #define f first #define s second int32_t main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); int k,no_of_vertex,no_of_edge,no_of_query; int input1,input2,input3; cin >> k >> no_of_vertex >> no_of_edge >> no_of_query; vector<vector<pair<int,int> > > adj(maxn); for(int i=0;i<no_of_edge;i++){ cin >> input1 >> input2 >> input3; adj[input1].push_back({input2,input3}); } vector<int> dist(maxn,INT_MAX); priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > > q1; dist[0] = 0; q1.push({0,0}); while(q1.size()!=0){ pair<int,int> a = q1.top(); q1.pop(); for(auto j:adj[a.s]){ if(dist[j.f]>a.f+j.s){ dist[j.f] = a.f+j.s; q1.push({dist[j.f],j.f}); } } } for(int i=0;i<no_of_query;i++){ cin >> input1 >> input2; if(dist[input2]==INT_MAX){ cout << -1 << "\n"; } else{ cout << dist[input2] << "\n"; } } }
#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...