# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
497249 | 2021-12-22T20:46:20 Z | FerThugGato12500 | Crocodile's Underground City (IOI11_crocodile) | C++17 | 1 ms | 2636 KB |
#include<bits/stdc++.h> using namespace std; #include "crocodile.h" const int lmt = 100005; struct wer{ int i; long long x; }; bool operator < (const wer &a, const wer &b){ return a.x > b.x; } bool mark[lmt]; bool vis[lmt]; vector< pair<int, int> > ed[lmt]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for(int i = 0; i < N; i++){ ed[R[i][0]].push_back({R[i][1],L[i]}); ed[R[i][1]].push_back({R[i][0],L[i]}); } priority_queue<wer> mqun; for(int i = 0; i < K; i++){ mqun.push({P[i],0}); mark[P[i]] = true; } while(mqun.size()){ int ind = mqun.top().i; long long v = mqun.top().x; mqun.pop(); // cout<<ind<<" "<<v<<" : "; if(mark[ind]){ // cout<<"a\n"; if(ind==0){ return (int)(v); } vis[ind] = true; for(int i = 0; i < ed[ind].size(); i++){ int to = ed[ind][i].first; long long vs = v+ed[ind][i].second; if(!vis[to]){ mqun.push({to,vs}); } } }else { mark[ind] = true; // cout<<"b\n"; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2636 KB | Output is correct |
2 | Correct | 1 ms | 2636 KB | Output is correct |
3 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2636 KB | Output is correct |
2 | Correct | 1 ms | 2636 KB | Output is correct |
3 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2636 KB | Output is correct |
2 | Correct | 1 ms | 2636 KB | Output is correct |
3 | Incorrect | 1 ms | 2636 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |