Submission #1303840

#TimeUsernameProblemLanguageResultExecution timeMemory
1303840mochaBosses (BOI16_bosses)C++20
100 / 100
394 ms748 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int inf = 1e18; const int mx = 5e3+5; int n; vector<int> g[mx]; int dis[mx]; signed main() { cin >> n; for (int i=1;i<=n;i++) { int k; cin >> k; for (int j=1;j<=k;j++) { int u; cin >> u; g[u].push_back(i); } } int ans = inf; for (int i=1;i<=n;i++) { for (int j=1;j<=n;j++) dis[j] = inf; dis[i] = 1; queue<int> q; q.push(i); int cnt = 0; int sum = 0; while (q.size()) { int u = q.front(); q.pop(); sum += dis[u]; cnt++; for (int v:g[u]) { if (dis[v] == inf) { dis[v] = dis[u] + 1; q.push(v); } } } if (cnt == n) ans = min(ans, sum); } cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...