제출 #1319617

#제출 시각아이디문제언어결과실행 시간메모리
1319617Agageldi악어의 지하 도시 (IOI11_crocodile)C++20
46 / 100
25 ms24216 KiB
#include "bits/stdc++.h" #include "crocodile.h" // #include "grader.cpp" using namespace std; #define MAXN 3000000 #define ll long long #define ff first #define ss second ll n, a[MAXN], dp[MAXN], vis[MAXN]; vector <pair<ll, ll>> E[MAXN]; int solve(int x) { if(dp[x] != -1) return dp[x]; vector <ll> v = {}; vis[x] = 1; for(auto i : E[x]) { if(vis[i.ff]) { if(vis[i.ff] == 2) { v.push_back(i.ss); } continue; } if(dp[i.ff] == -1) { ll nd = solve(i.ff) + i.ss; v.push_back(nd); } } sort(v.begin(),v.end()); ll jog = INT_MAX; if((int)v.size() >= 2) jog = v[1]; return dp[x] = jog; } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){ for(int i = 0;i < M; i++) { E[R[i][0]].push_back({R[i][1],L[i]}); E[R[i][1]].push_back({R[i][0],L[i]}); } memset(dp, -1, sizeof dp); for(int i = 0; i < K; i++) { vis[P[i]] = 2; } return solve(0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...