Submission #1329318

#TimeUsernameProblemLanguageResultExecution timeMemory
1329318paronmanukyanCrocodile's Underground City (IOI11_crocodile)C++20
Compilation error
0 ms0 KiB
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
	int n = N, m = M;

	rep(i, 1, n, 1)
		adj[i].clear();

	rep(i, 0, M - 1, 1) {
		int x = R[i][0] + 1, y = R[i][1] + 1;
		int w = L[i];
		adj[x].pb({ y, w });
		adj[y].pb({ x, w });
	}

	priority_queue<pii, V<pii>, greater<pii>> pq;

	function<void(int)> update = [&](int node) -> void {
		for (auto bs : adj[node]) {
			int i = bs.ff, val = bs.ss;

			int cost = bst[node] + val;

			if (cost < bst[i]) {
				dp[i] = bst[i];
				bst[i] = cost;
				pq.push({ dp[i], i });
			}
			else if (cost > bst[i] && cost < dp[i]) {
				dp[i] = cost;
				pq.push({ dp[i], i });
			}
		}
	};

	rep(i, 1, n, 1)
		dp[i] = bst[i] = 1e9 + 10;

	rep(i, 0, K - 1, 1)
		dp[P[i] + 1] = bst[P[i] + 1] = 0;

	rep(i, 0, K - 1, 1)
		pq.push({ 0, P[i] + 1 });

	while (!pq.empty()) {
		auto it = pq.top();
		pq.pop();
		int w = it.ff;
		int node = it.ss;

		if (w != dp[node])
			continue;

		update(node);
	}

	return dp[1];
}

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:5:13: error: 'i' was not declared in this scope
    5 |         rep(i, 1, n, 1)
      |             ^
crocodile.cpp:5:9: error: 'rep' was not declared in this scope
    5 |         rep(i, 1, n, 1)
      |         ^~~
crocodile.cpp:15:24: error: 'pii' was not declared in this scope
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |                        ^~~
crocodile.cpp:15:29: error: 'V' was not declared in this scope
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |                             ^
crocodile.cpp:15:9: error: 'priority_queue' was not declared in this scope
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |         ^~~~~~~~~~~~~~
crocodile.cpp:15:35: error: expected primary-expression before ',' token
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |                                   ^
crocodile.cpp:15:37: error: 'greater' was not declared in this scope
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |                                     ^~~~~~~
crocodile.cpp:15:51: error: 'pq' was not declared in this scope
   15 |         priority_queue<pii, V<pii>, greater<pii>> pq;
      |                                                   ^~
crocodile.cpp:17:9: error: 'function' was not declared in this scope; did you mean 'union'?
   17 |         function<void(int)> update = [&](int node) -> void {
      |         ^~~~~~~~
      |         union
crocodile.cpp:17:18: error: expected primary-expression before 'void'
   17 |         function<void(int)> update = [&](int node) -> void {
      |                  ^~~~
crocodile.cpp:42:40: error: expected primary-expression before ')' token
   42 |                 pq.push({ 0, P[i] + 1 });
      |                                        ^
crocodile.cpp:50:26: error: 'dp' was not declared in this scope
   50 |                 if (w != dp[node])
      |                          ^~
crocodile.cpp:53:17: error: 'update' was not declared in this scope
   53 |                 update(node);
      |                 ^~~~~~
crocodile.cpp:56:16: error: 'dp' was not declared in this scope
   56 |         return dp[1];
      |                ^~