제출 #546474

#제출 시각아이디문제언어결과실행 시간메모리
546474Hanksburger악어의 지하 도시 (IOI11_crocodile)C++17
46 / 100
4 ms3056 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; vector<pair<int, long long> > adj[100005]; bool exits[100005], visited[100005]; long long dist[100005]; void dfs(int u) { if (exits[u]) return; visited[u]=1; long long min1=1e18, min2=1e18; for (int i=0; i<adj[u].size(); i++) { int v=adj[u][i].first; long long w=adj[u][i].second; if (visited[v]) continue; dfs(v); if (min1>dist[v]+w) { min2=min1; min1=dist[v]+w; } else if (min2>dist[v]+w) min2=dist[v]+w; } dist[u]=min2; } 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], w=L[i]; adj[u].push_back({v, w}); adj[v].push_back({u, w}); } for (int i=0; i<K; i++) exits[P[i]]=1; dfs(0); return dist[0]; }

컴파일 시 표준 에러 (stderr) 메시지

crocodile.cpp: In function 'void dfs(int)':
crocodile.cpp:13:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for (int i=0; i<adj[u].size(); i++)
      |                ~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...