Submission #374015

#TimeUsernameProblemLanguageResultExecution timeMemory
374015vishesh312Bosses (BOI16_bosses)C++17
0 / 100
1 ms364 KiB
#include "bits/stdc++.h" using namespace std; /* #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; using ordered_set = tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>; */ #define all(x) begin(x), end(x) #define sz(x) (int)x.size() using ll = long long; const int mod = 1e9+7; vector<vector<int>> adj; vector<bool> vis; ll cost; int n, cur; void dfs(int u, ll c) { vis[u] = true; ++cur; cost += c; for (auto v : adj[u]) { if (!vis[v]) { dfs(v, c+1); } } } void solve(int tc) { cin >> n; adj.resize(n); vis.resize(n); for (int i = 0; i < n; ++i) { int m; cin >> m; while (m--) { int u; cin >> u; --u; adj[u].push_back(i); } } ll ans = 1e16; for (int i = 0; i < n; ++i) { fill(all(vis), false); cost = 0, cur = 0; dfs(i, 1); if (cur == n) ans = min(ans, cost); } cout << ans << '\n'; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int tc = 1; //cin >> tc; for (int i = 1; i <= tc; ++i) solve(i); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...