Submission #1243854

#TimeUsernameProblemLanguageResultExecution timeMemory
1243854wedonttalkanymoreBosses (BOI16_bosses)C++20
0 / 100
1 ms776 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, k; vector <int> adj[5005]; int length[5005], depth[5005]; struct item { int u, now; bool operator <(const item &other) const { return now > other.now; } }; 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()) { auto tmp = q.front(); q.pop(); for (auto 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]; } ans = min(ans, sum); } signed main() { cin >> n >> k; 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...