# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
334482 | 2020-12-09T08:14:56 Z | ijxjdjd | 악어의 지하 도시 (IOI11_crocodile) | C++11 | 3 ms | 3584 KB |
#include <bits/stdc++.h> #include "crocodile.h" using namespace std; typedef long long ll; typedef string str; typedef double db; typedef long double ld; typedef pair<int, int> pi; typedef pair<long, long> pl; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<pi> vpi; #define FOR(i,a,b) for (int i = (a); i < (b); ++i) #define FR(i,a) FOR(i,0,a) #define ROF(i,a,b) for (int i = (b)-1; i >= (a); --i) #define RF(i,a) ROF(i,0,a) #define trav(a,x) for (auto& a: x) const int MAXN = (int)(1e5)+5; const int INF = (int)(1e9) + 5; int from[MAXN]; int dist[MAXN]; vector<pair<int, int>> adj[MAXN]; void dijkstra(int K, int P[]) { FR(i, MAXN) { dist[i] = INF; from[i] = -1; } priority_queue<pi> q; FR(i, K) { dist[P[i]] = 0; q.push({0,P[i]}); } while(!q.empty()) { pair<int,int> p = q.top(); q.pop(); int u = p.second, d = p.first; if(d > dist[u]) continue; for(pi pr : adj[u]) { int v = pr.second; int next_dist = d + pr.first; if(next_dist < dist[v]) { dist[v] = next_dist; from[v] = u; q.push({next_dist,v}); } } } } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for (int i = 0; i < M; i++) { adj[R[i][1]].push_back({L[i], R[i][0]}); adj[R[i][0]].push_back({L[i], R[i][1]}); } dijkstra(K, P); FR(i, MAXN) { if (from[i] != -1) { for (int j = 0; j < adj[from[i]].size(); j++) { if (adj[from[i]][j].second == i) { adj[from[i]].erase(adj[from[i]].begin() + j); break; } } FR(j, adj[i].size()) { if (adj[i][j].second == i) { adj[i].erase(adj[i].begin() + j); } } } } dijkstra(K, P); return dist[0]; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 3584 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 3584 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 3584 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |