Submission #1355991

#TimeUsernameProblemLanguageResultExecution timeMemory
1355991FaresSTH악어의 지하 도시 (IOI11_crocodile)C++20
46 / 100
156 ms327680 KiB
#include"bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
const int mxn=1001;
vector<pair<int,int>>g[mxn];
bool ex[mxn];
int dfs(int i,int p){
	if(ex[i])return 0;
	int mn[]={(int)2e9,(int)2e9};
	for(auto j:g[i]){
		if(j.F==p)continue;
		int val=j.S+dfs(j.F,i);
		if(val<=mn[0]){
			mn[1]=mn[0];
			mn[0]=val;
		}
		else if(val<mn[1])mn[1]=val;
	}
	return mn[1];
}
int travel_plan(int n,int m,int r[][2],int l[],int k,int p[]){
	for(int i=0;i<m;i++){
		g[r[i][0]].push_back({r[i][1],l[i]});
		g[r[i][1]].push_back({r[i][0],l[i]});
	}
	for(int i=0;i<k;i++)ex[p[i]]=1;
	return dfs(0,0);
}

#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...