Submission #1240988

#TimeUsernameProblemLanguageResultExecution timeMemory
1240988pcp악어의 지하 도시 (IOI11_crocodile)C++20
46 / 100
2 ms3140 KiB
#include "crocodile.h" #include <iostream> #include <cstring> #include <vector> #include <queue> // /usr/bin/g++ -DEVAL -std=gnu++20 -O2 -pipe -static -s -o crocodile grader.cpp crocodile.cpp using namespace std; const int NN=100010; vector<pair<int,int>> connections[NN]; bool gud[NN]; bool visited[NN]; int bfs(int node){ if (!visited[node]){ visited[node]=true; priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> kiwi; for (auto it : connections[node]){ if (!visited[it.first]){ int rslt = bfs(it.first); if (gud[it.first]){ kiwi.push({it.second+rslt,it.first}); } } } if (kiwi.size()>=2)gud[node]=true; else return 0; kiwi.pop(); return kiwi.top().first; }return 0; } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { memset(visited, 0, sizeof visited); memset(gud, 0, sizeof gud); for (int i = 0; i < M;++i){ connections[R[i][0]].push_back({R[i][1],L[i]}); connections[R[i][1]].push_back({R[i][0],L[i]}); } for (int i = 0;i<K;++i)gud[P[i]]=true; return bfs(0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...