Submission #1248400

#TimeUsernameProblemLanguageResultExecution timeMemory
124840012baaterKeys (IOI21_keys)C++20
0 / 100
4 ms7240 KiB
#include <vector> #include <queue> using namespace std; vector<int> adj[300000]; vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c) { vector<int> tot(r.size(), 0); for (int i = 0; i < u.size(); i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } for (int i = 0; i < r.size(); i++) { if (r[i] == 0) { queue<int> q; q.push(i); vector<bool> v1(r.size(), 0); for (; !q.empty(); q.pop()) { int current = q.front(); if (v1[current]) continue; v1[current] = true; tot[i]++; for (auto child : adj[current]) { if (v1[child]) continue; q.push(child); } } } } int smallest = 1000000; for (int i = 0; i < r.size(); i++) { smallest = min(smallest, tot[i]); } vector<int> ans(r.size(), 0); for (int i = 0; i < r.size(); i++) { if (tot[i] == smallest) { ans[i] = 1; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...