Submission #1243855

#TimeUsernameProblemLanguageResultExecution timeMemory
1243855wedonttalkanymoreBosses (BOI16_bosses)C++20
100 / 100
397 ms788 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fi first #define se second int n; vector<int> adj[5005]; int length[5005], depth[5005]; int ans = 1e18; void dijk(int u) { for (int i = 1; i <= n; i++) { length[i] = 0; depth[i] = 0; } length[u] = 1; depth[u] = 1; queue<int> q; q.push(u); while (q.size()) { int tmp = q.front(); q.pop(); for (int v : adj[tmp]) { if (depth[v]) continue; depth[v] = depth[tmp] + 1; length[v] = length[tmp] + 1; q.push(v); } } int sum = 0; for (int i = 1; i <= n; i++) { if (length[i] == 0) return; sum += length[i]; } if (sum < ans) ans = sum; } signed main() { cin >> n; for (int i = 1; i <= n; i++) { int sz; cin >> sz; for (int j = 1; j <= sz; j++) { int x; cin >> x; adj[x].push_back(i); } } for (int i = 1; i <= n; i++) dijk(i); cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...