제출 #1290167

#제출 시각아이디문제언어결과실행 시간메모리
1290167muhammad-ahmadVoting Cities (NOI22_votingcity)C++20
0 / 100
8 ms824 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> #include <numeric> #include <stack> #include <chrono> using namespace std; #define int long long #define endl '\n' #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define fi first #define se second const int N = 5005; vector<pair<int, int>> adj[N]; int n, e, k, S, E, Q, dist[N]; void bfs(){ for (int i = 1; i < N; i++) dist[i] = 1e18; priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; pq.push({0, S}); while (pq.size()){ auto [d, u] = pq.top(); pq.pop(); for (auto [v, w] : adj[u]){ if (dist[v] > d + w){ dist[v] = d + w; pq.push({dist[v], v}); } } } } void solve() { cin >> n >> e >> k; cin >> E; for (int i = 1; i <= e; i++){ int u, v, c; cin >> u >> v >> c; adj[u].push_back({v, c}); } cin >> Q >> S; bfs(); if (dist[E] == 1e18) cout << -1 << endl; else cout << dist[E] << endl; return; } signed main() { srand(chrono::steady_clock::now().time_since_epoch().count()); int tc = 1; // cin >> tc; while (tc--) 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...