제출 #519950

#제출 시각아이디문제언어결과실행 시간메모리
519950sliviu악어의 지하 도시 (IOI11_crocodile)C++17
100 / 100
461 ms71084 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using pi = pair<int, int>;

int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) {
	vector<vector<pair<int, int>>> G(n);
	vector<int> seen(n);
	for (int i = 0;i < m;++i) {
		int x, y;
		G[r[i][0]].emplace_back(r[i][1], l[i]);
		G[r[i][1]].emplace_back(r[i][0], l[i]);
	}
	auto comp = [&](pi a, pi b) {
		return a.second > b.second;
	};
	priority_queue<pi, vector<pi>, decltype(comp)> PQ(comp);
	for (int i = 0;i < k;++i) {
		PQ.emplace(p[i], 0);
		++seen[p[i]];
	}
	while (!PQ.empty()) {
		int node, cost;
		tie(node, cost) = PQ.top();
		PQ.pop();
		if (++seen[node] == 2) {
			if (node == 0)
				return cost;
			for (auto x : G[node])
				PQ.emplace(x.first, x.second + cost);
		}
	}
}

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

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:11:7: warning: unused variable 'x' [-Wunused-variable]
   11 |   int x, y;
      |       ^
crocodile.cpp:11:10: warning: unused variable 'y' [-Wunused-variable]
   11 |   int x, y;
      |          ^
crocodile.cpp:8:36: warning: control reaches end of non-void function [-Wreturn-type]
    8 |  vector<vector<pair<int, int>>> G(n);
      |                                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...