제출 #1148838

#제출 시각아이디문제언어결과실행 시간메모리
1148838sano악어의 지하 도시 (IOI11_crocodile)C++20
100 / 100
726 ms100460 KiB
#include "crocodile.h" #include<iostream> #include<vector> #include<queue> #include<deque> #include<string> #include<fstream> #include<algorithm> #include <iomanip> #include<map> #include <set> #include <unordered_map> #include <stack> #include <unordered_set> #include <cmath> #include <cstdint> #define shit short int #define ll long long #define For(i, n) for(ll i = 0; i < (ll)n; i++) #define ffor(i, a, n) for(ll i = (ll)a; i < (ll)n; i++) #define rfor(i, n) for(ll i = (ll)n; i >= (ll)0; i--) #define rffor(i, a, n) for(ll i = (ll)n; i >= (ll)a; i--) #define vec vector #define ff first #define ss second #define pb push_back #define pii pair<ll, ll> #define NEK 10000000000000000 #define mod 1000000007 #define mod2 1000000009 #define rsz resize #define prv1 43 #define prv2 47 #define D 8 #define trav(a,x) for (auto& a: x) #define pb push_back #define ub upper_bound #define lb lower_bound #define sig 0.0000001 using namespace std; int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) { vec<int> dist(n, -2); vec<vec<pii>> g(n); For(i, m) { g[r[i][0]].push_back({ r[i][1], l[i] }); g[r[i][1]].push_back({ r[i][0], l[i] }); } priority_queue<pii> q; For(i, k) { dist[p[i]] = -1; q.push({ 0, p[i] }); } while (!q.empty()) { int x = q.top().ss, d = q.top().ff * (-1); q.pop(); if (dist[x] >= 0) continue; if (dist[x] == -2) { dist[x] = -1; continue; } dist[x] = d; for (auto i : g[x]) { q.push({ (d + i.ss) * (-1), i.ff }); } } return dist[0]; } /*int main() { int n, m, k; cin >> n >> m >> k; int r[100][2], l[100], p[100]; For(i, m) cin >> r[i][0] >> r[i][1] >> l[i]; For(i, k) cin >> p[i]; cout << travel_plan(n, m, r, l, k, p) << '\n'; return 0; }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...