Submission #71475

#TimeUsernameProblemLanguageResultExecution timeMemory
71475RezwanArefin01Crocodile's Underground City (IOI11_crocodile)C++17
100 / 100
1375 ms104656 KiB
#include <bits/stdc++.h> #include "crocodile.h" using namespace std; typedef long long ll; typedef pair<ll, int> ii; const int N = 1e5 + 10; vector<int> adj[N], cost[N]; int vis[N]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for(int i = 0; i < M; i++) { int u = R[i][0], v = R[i][1], c = L[i]; adj[u].push_back(v); adj[v].push_back(u); cost[u].push_back(c); cost[v].push_back(c); } priority_queue<ii, vector<ii>, greater<ii> > Q; for(int i = 0; i < K; i++) { int u = P[i]; vis[u] = 1; Q.emplace(0, u); } while(!Q.empty()) { ii x = Q.top(); Q.pop(); int u = x.second; ll D = x.first; vis[u]++; if(vis[u] != 2) continue; if(!u) return D; for(int i = 0; i < adj[u].size(); i++) Q.emplace(D + cost[u][i], adj[u][i]); } }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:32:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < adj[u].size(); i++)
                        ~~^~~~~~~~~~~~~~~
crocodile.cpp:35:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...