제출 #1290175

#제출 시각아이디문제언어결과실행 시간메모리
1290175muhammad-ahmadVoting Cities (NOI22_votingcity)C++20
15 / 100
9 ms840 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 = 0; i < N; i++) dist[i] = 1e18; dist[E] = 0; priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; pq.push({0, E}); 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[v].push_back({u, c}); } cin >> Q; bfs(); int P; for (int q = 1; q <= Q; q++){ int S; cin >> S; for (int i = 0; i < 5; i++) cin >> P; if (dist[S] == 1e18) cout << -1 << endl; else cout << dist[S] << 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...