# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
388596 | 2021-04-12T08:27:03 Z | mariowong | 악어의 지하 도시 (IOI11_crocodile) | C++14 | 2000 ms | 2636 KB |
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; struct edge{ long long node,w; }nw,now; int ans; vector <edge> e[100005]; priority_queue <pair<long long,long long> > q; bool vis[100005][5]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){ for (int i=0;i<M;i++){ now.w=L[i]; now.node=R[i][0]; e[R[i][1]].push_back(now); now.node=R[i][1]; e[R[i][0]].push_back(now); } for (int i=0;i<K;i++){ q.push(make_pair(0,P[i])); q.push(make_pair(0,P[i])); } while (!q.empty()){ now.w=-q.top().first; now.node=q.top().second; if (!vis[now.node][0]) vis[now.node][0]=true; else if (!vis[now.node][1]){ vis[now.node][1]=true; if (now.node == 0) ans=now.w; for (int i=0;i<e[now.node].size();i++){ if (!vis[e[now.node][i].node][1]) q.push(make_pair(-(now.w+e[now.node][i].w),e[now.node][i].node)); } } } return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2058 ms | 2636 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2058 ms | 2636 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2058 ms | 2636 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |