제출 #1003505

#제출 시각아이디문제언어결과실행 시간메모리
1003505coolboy19521악어의 지하 도시 (IOI11_crocodile)C++17
46 / 100
155 ms262144 KiB
#include "bits/stdc++.h"
#include "crocodile.h"
#define i64 long long

using namespace std;

const i64 sz = 1e5 + 5;

vector<vector<i64>> aj[sz];
i64 f[sz], s[sz];

void dfs(int v, int p = -1) {
	if (1 == (int) aj[v].size()) {
		return;
	}
	f[v] = s[v] = INT_MAX;
	for (auto& u : aj[v]) {
		int to = u[0];
		int we = u[1];
		if (to != p) {
			dfs(to, v);
			if (we + s[to] <= f[v]) {
				s[v] = f[v];
				f[v] = we + s[to];
			} else {
				s[v] = min(s[v], we + s[to]);
			}
		}
	}
}

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
	for (int i = 0; i < M; i ++) {
		int a = R[i][0];
		int b = R[i][1];
		aj[a].push_back({b, L[i]});
		aj[b].push_back({a, L[i]});
	}

	dfs(0);

	return s[0];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...