Submission #425833

#TimeUsernameProblemLanguageResultExecution timeMemory
425833dxz05악어의 지하 도시 (IOI11_crocodile)C++14
89 / 100
2059 ms44680 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define MP make_pair const ll INF = 1e18 + 1e8; const int N = 3e5 + 3e2; vector<pair<int, int>> g[N]; ll dp[N]; bool processed[N]; int cnt[N]; 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]].emplace_back(R[i][1], L[i]); g[R[i][1]].emplace_back(R[i][0], L[i]); } fill(dp, dp + N, INF); for (int i = 0; i < K; i++){ dp[P[i]] = 0; } for (int it = 0; it < N; it++){ for (int i = 0; i < N; i++){ vector<ll> vec; for (auto edge : g[i]){ int j = edge.first, w = edge.second; if (dp[j] != INF) vec.push_back(dp[j] + w); } if (vec.size() < 2) continue; sort(vec.begin(), vec.end()); dp[i] = min(dp[i], vec[1]); // cout << i << ' ' << dp[i] << endl; } } //for (int i = 0; i < N; i++) cout << dp[i] << ' '; return dp[0]; } /** 5 7 2 0 2 4 0 3 3 3 2 2 2 1 10 0 1 100 0 4 7 3 4 9 1 3 14 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...