# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1041419 | 2024-08-02T03:40:55 Z | HappyCapybara | 악어의 지하 도시 (IOI11_crocodile) | C++17 | 1124 ms | 262144 KB |
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){ vector<vector<pair<int,int>>> g(N); for (int i=0; i<M; i++){ g[R[i][0]].push_back({R[i][1], L[i]}); g[R[i][1]].push_back({R[i][0], L[i]}); } vector<pair<int,int>> v(N, {pow(10, 9)+1, pow(10, 9)+1}); priority_queue<pair<int,int>> pq; for (int i=0; i<K; i++) pq.push({0, P[i]}); vector<bool> seen(N, false); while (!pq.empty()){ int d = -pq.top().first, cur = pq.top().second; pq.pop(); if (seen[cur]) continue; //cout << cur << " " << d << "\n"; if (cur == 0) return d; for (pair<int,int> next : g[cur]){ if (d + next.second < v[next.first].first){ v[next.first].second = v[next.first].first; v[next.first].first = d + next.second; } else if (d + next.second < v[next.first].second) v[next.first].second = d + next.second; if (v[next.first].second < pow(10, 9)+1) pq.push({-v[next.first].second, next.first}); } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1124 ms | 262144 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1124 ms | 262144 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1124 ms | 262144 KB | Execution killed with signal 9 |
2 | Halted | 0 ms | 0 KB | - |